
:root{
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:#172033;background:#f6f8fb;
  --nav:#111827;--nav2:#1f2937;--line:#e5e9f0;--muted:#6b7280;
  --primary:#2563eb;--primary-dark:#1d4ed8;--card:#fff;--radius:14px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f6f8fb;color:#172033}
body{font-size:14px;line-height:1.45}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--nav);color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:20}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{width:38px;height:38px;border-radius:11px;background:#2563eb;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.5px}
.brand strong{display:block;font-size:17px}.brand span{display:block;color:#94a3b8;font-size:11px;margin-top:1px}
.main-nav{display:flex;flex-direction:column;gap:2px;overflow:auto;padding:13px 0}
.nav-section{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.11em;padding:17px 11px 6px}
.main-nav a{color:#d5dbea;text-decoration:none;padding:9px 11px;border-radius:9px;font-weight:600}
.main-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:14px 8px 2px}
.user-mini strong,.user-mini span{display:block}.user-mini span{color:#94a3b8;font-size:12px;margin-top:2px}
.logout-link{display:inline-block;color:#cbd5e1;text-decoration:none;font-size:12px;margin-top:9px}.logout-link:hover{color:#fff}
.app-version{font-size:11px;color:#64748b;margin-top:12px}

main{margin-left:250px;padding:30px 34px;max-width:1800px;min-height:100vh}
main.full{margin:0;min-height:100vh;display:grid;place-items:center}
h1,h2,h3{color:#111827}h1{font-size:27px;line-height:1.15;margin:5px 0 4px}h2{margin:0 0 14px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7c8798;font-weight:800}
.muted{color:var(--muted)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-header p{margin:5px 0 0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 2px 10px rgba(15,23,42,.035);margin-bottom:18px}
.btn,button{border:0;background:var(--primary);color:white;padding:9px 14px;border-radius:9px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;font-size:13px}
.btn:hover,button:hover{background:var(--primary-dark)}.secondary{background:#eef2f7;color:#334155}.secondary:hover{background:#e2e8f0;color:#111827}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfd7e3;border-radius:9px;background:#fff;color:#172033;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(37,99,235,.12);border-color:#6b93eb}
.form{display:grid;gap:18px}.form label{display:grid;gap:6px;font-weight:650;color:#334155}.form textarea{min-height:110px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:16px}
.section-title{padding-bottom:13px;border-bottom:1px solid var(--line)}.section-title h2{margin:0 0 4px}.section-title p{margin:0;color:var(--muted)}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#e8eef7}.flash.success{background:#e7f7ed;color:#166534}.flash.danger{background:#feecec;color:#991b1b}.flash.warning{background:#fff5d9;color:#92400e}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.stats .card{display:grid;gap:7px}.stats b{font-size:28px}.stats span{color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profilehead{display:flex;align-items:center;gap:16px}
.avatar{width:74px;height:74px;border-radius:18px;object-fit:cover;border:1px solid #dbe2ec}.avatar.placeholder{display:grid;place-items:center;background:#e9eef6;font-size:24px;font-weight:700;color:#40506a}
.check{display:flex!important;flex-direction:row;align-items:center;gap:9px}.check input{width:auto}.inline{display:flex!important;align-items:center;gap:8px}.inline input{width:auto}
.inlineform{display:flex;gap:10px}.inline2{display:grid;grid-template-columns:120px 1fr;gap:8px}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px}
.filters{display:flex;gap:8px;align-items:center;margin:0;flex:1}.filters input{max-width:430px}.filters select{max-width:190px}
.table-tools{display:flex;gap:8px;align-items:center;flex-shrink:0}
.table-card{padding:0;overflow:visible}.tablewrap{overflow:auto;border-radius:var(--radius)}
.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:850px}
.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid #edf0f4;white-space:nowrap;text-align:left}
.data-table th{position:sticky;top:0;background:#f8fafc;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;z-index:2}
.data-table tbody tr:hover td{background:#f8fbff}.data-table tbody tr:last-child td{border-bottom:0}
.data-table.compact th,.data-table.compact td{padding:7px 11px;font-size:12px}
.data-table .col-hidden{display:none}
.member-link{color:#174ea6;font-weight:750;text-decoration:none}.member-link:hover{text-decoration:underline}
.row-action{color:#475569;text-decoration:none;font-weight:650}.row-action:hover{color:#111827}
.sortable{cursor:pointer;user-select:none}.sortable:after{content:" ↕";opacity:.35}.sortable.sort-asc:after{content:" ↑";opacity:1}.sortable.sort-desc:after{content:" ↓";opacity:1}
.status-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:11px;font-weight:750}
.status-badge.active{background:#e8f7ee;color:#18703a}.status-badge.passive{background:#fff5d9;color:#92400e}.status-badge.left,.status-badge.inactive{background:#f1f3f5;color:#667085}
.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-top:1px solid var(--line);font-size:13px}.pagination a{color:#245cc5;text-decoration:none;font-weight:700}

.dropdown{position:relative}.dropdown-panel{display:none;position:absolute;right:0;top:calc(100% + 7px);background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(15,23,42,.14);border-radius:12px;padding:13px;min-width:225px;z-index:50}
.dropdown-panel.open{display:grid;gap:7px}.dropdown-panel strong{font-size:12px;margin-bottom:3px}.dropdown-panel label{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.dropdown-panel input{width:auto}
.dropdown-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin-top:3px}.linkbutton{background:none!important;color:#2563eb!important;padding:3px!important;font-size:12px}

.settings-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:18px;align-items:start}.settings-nav{padding:8px;display:flex;flex-direction:column;gap:3px;position:sticky;top:20px}
.settings-nav a{padding:10px 11px;border-radius:8px;color:#475569;text-decoration:none;font-weight:650}.settings-nav a:hover{background:#f3f6fa}.settings-nav a.active{background:#eaf1ff;color:#174ea6}
.settings-content{min-width:0}.login{width:min(430px,92vw)}

@media(max-width:1000px){
  .sidebar{position:static;width:auto;min-height:auto}.main-nav{display:grid;grid-template-columns:repeat(3,1fr)}.nav-section{display:none}.sidebar-bottom{display:flex;gap:16px;align-items:center}
  main{margin-left:0;padding:20px}.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:grid;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .page-header,.toolbar,.filters,.inlineform{align-items:stretch;flex-direction:column}.page-actions,.table-tools{width:100%}.table-tools .btn{flex:1}
  .filters input,.filters select{max-width:none}.stats,.grid2,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.settings-nav,.main-nav{grid-template-columns:1fr 1fr}
  main{padding:15px}.sidebar-bottom{display:block}
}

.brand-logo{width:210px;height:54px;object-fit:contain;object-position:left center}
.brand{padding-left:4px}
.tag{display:inline-block;padding:4px 8px;margin:2px;border-radius:999px;background:#eaf1ff;color:#174ea6;font-size:12px;font-weight:700}
.field-block{display:grid;gap:8px;margin-top:18px}.field-block>label{font-weight:700;color:#334155}
.multi-check-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;font-weight:600!important}.check-chip input{width:auto}
.danger-btn{background:#fee2e2;color:#991b1b}.danger-btn:hover{background:#fecaca;color:#7f1d1d}

.master-list{display:grid;gap:8px;margin-top:16px}.master-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;gap:8px;align-items:center;padding:9px;background:#f8fafc;border:1px solid #e6ebf2;border-radius:10px}.master-row-groups{grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr) auto auto auto}
@media(max-width:800px){.master-row,.master-row-groups{grid-template-columns:1fr}}

/* 0.6.1 modern UI */
:root{
  --sidebar:#0b1220;
  --sidebar-hover:#172033;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --page:#f2f5f9;
  --border:#e4e9f0;
  --text:#172033;
  --subtle:#748094;
  --blue:#2563eb;
}
html,body{background:var(--page)}
.sidebar{width:236px;background:var(--sidebar);padding:16px 12px}
.brand{height:66px;padding:6px 7px 17px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-logo{width:176px;height:48px}
.main-nav{padding:10px 0;gap:1px}
.main-nav a{padding:10px 12px;border-radius:8px;font-size:13px;transition:.15s ease}
.main-nav a:hover{background:var(--sidebar-hover);transform:translateX(1px)}
.nav-settings{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:16px!important;border-radius:0!important}
.nav-section{font-size:9px;padding:15px 12px 5px;color:#526174}
.sidebar-bottom{padding:13px 10px 1px}
main{margin-left:236px;padding:28px 30px 40px;max-width:none}
.page-header{margin-bottom:18px}
.page-header h1{font-size:25px;letter-spacing:-.025em}
.card,.panel,.kpi-card{border:1px solid var(--border);box-shadow:0 1px 2px rgba(15,23,42,.025),0 6px 20px rgba(15,23,42,.025)}
.card{border-radius:12px}
button,.btn{border-radius:8px;min-height:36px;padding:8px 13px}
input,select,textarea{border-radius:8px;background:#fff;border-color:#d9e0e9}
.toolbar{border-radius:12px}
.table-card{border-radius:12px}
.data-table th{background:#f7f9fc;color:#6d788b}
.data-table tbody tr:hover td{background:#f6f9fe}
.settings-layout{grid-template-columns:215px minmax(0,1fr)}
.settings-nav{padding:7px;gap:2px}
.settings-nav-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8a95a7;padding:11px 11px 7px}
.settings-nav-separator{height:1px;background:#e8ecf2;margin:7px 6px}
.settings-nav a{padding:9px 10px;font-size:13px;border-radius:7px}
.settings-nav a.active{background:#e9f0ff;color:#1d4ed8}
.section-title h2,.settings-content h2{font-size:18px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}
.kpi-card{background:#fff;border-radius:12px;padding:17px 18px;text-decoration:none;color:var(--text);display:grid;gap:4px;transition:.15s ease}
.kpi-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.kpi-card strong{font-size:27px;line-height:1.1;letter-spacing:-.025em}
.kpi-card small{color:#8a95a7;font-size:11px}
.kpi-label{font-size:11px;font-weight:800;color:#697588;text-transform:uppercase;letter-spacing:.055em}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel{background:#fff;border-radius:12px;overflow:hidden}
.panel-head{padding:17px 18px 13px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf0f4}
.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:12px;color:#8a95a7;margin:3px 0 0}.panel-head a{font-size:12px;color:#2563eb;text-decoration:none;font-weight:700}
.list-clean{display:grid}
.list-clean>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 17px;border-bottom:1px solid #f0f2f5;text-decoration:none;color:var(--text)}
.list-clean>a:last-child{border-bottom:0}.list-clean>a:hover{background:#f8fafc}
.list-clean strong,.list-clean small{display:block}.list-clean strong{font-size:13px}.list-clean small{font-size:11px;color:#8a95a7;margin-top:2px}
.list-avatar{width:32px;height:32px;border-radius:9px;background:#e8efff;color:#2854a6;display:grid;place-items:center;font-weight:800;font-size:11px}
.date-badge{width:34px;height:34px;border-radius:9px;background:#f2f5f9;display:grid;place-items:center;line-height:1;font-weight:800;font-size:13px}
.date-badge small{font-size:8px!important;text-transform:uppercase;margin:0!important}
.list-arrow{font-size:20px;color:#a4adba}.empty-state{padding:25px 18px;color:#8a95a7;text-align:center}
.account-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f4}.account-row:last-child{border-bottom:0}.account-row strong,.account-row span{display:block}.account-row>div span{font-size:11px;color:#8a95a7;margin-top:2px}
.backup-list{display:grid}.backup-list a{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf0f4;text-decoration:none;color:#334155}.backup-list a strong{color:#2563eb;font-size:12px}
@media(max-width:1050px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:1000px){main{margin-left:0}.sidebar{width:auto}.brand-logo{width:170px}.nav-settings{border-top:0;margin-top:0;padding-top:10px!important}}
@media(max-width:650px){.kpi-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}

/* 0.6.2 green / gray / white theme */
:root{
  --primary:#168a59;
  --primary-dark:#0f6f47;
  --green:#168a59;
  --green-soft:#e8f5ef;
  --green-border:#c9e7d8;
  --nav:#202623;
  --nav2:#2b332f;
  --sidebar:#202623;
  --sidebar-hover:#303a35;
  --page:#f3f5f4;
  --surface:#ffffff;
  --surface-2:#f7f9f8;
  --border:#dde3e0;
  --line:#dde3e0;
  --text:#202824;
  --subtle:#747f79;
}
html,body{background:#f3f5f4;color:#202824}
.sidebar{background:#202623}
.brand{border-bottom:1px solid rgba(255,255,255,.08)}
.main-nav a{color:#d9dfdc;border:0!important;box-shadow:none!important;outline:none!important;transform:none!important}
.main-nav a:hover,.main-nav a:focus{background:#303a35;color:#fff;border:0!important;box-shadow:none!important;outline:none!important;transform:none!important}
.nav-settings{border-top:0!important;margin-top:8px;padding-top:10px!important;border-radius:8px!important}
.nav-section{color:#8d9993}
.user-mini span,.app-version{color:#89958f}
.btn,button{background:#168a59}
.btn:hover,button:hover{background:#0f6f47}
.secondary{background:#edf1ef;color:#36413b}
.secondary:hover{background:#e2e8e5;color:#202824}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(22,138,89,.12);border-color:#69ac8d}
.member-link,.panel-head a,.backup-list a strong,.settings-nav a.active{color:#137a50}
.settings-nav a.active{background:#e8f5ef}
.tag{background:#e8f5ef;color:#116942}
.status-badge.active{background:#e4f4eb;color:#14643f}
.kpi-card:hover{border-color:#c9e7d8}
.list-avatar{background:#e7f4ed;color:#126b44}
.linkbutton{color:#137a50!important}
.flash.success{background:#e6f4ec;color:#135c3c}
.data-table tbody tr:hover td{background:#f4f8f6}

.settings-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}.settings-shortcuts a{padding:8px 11px;border-radius:8px;background:#e8f5ef;color:#116942;text-decoration:none;font-weight:700;font-size:12px}.settings-shortcuts a:hover{background:#d9eee3}

/* 0.7.0 light SaaS interface */
:root{
  --primary:#2f8f67;
  --primary-dark:#257452;
  --green:#2f8f67;
  --green-soft:#eaf6f0;
  --green-border:#cfe8dc;
  --page:#f5f7f6;
  --surface:#ffffff;
  --surface-2:#fafbfa;
  --border:#e1e7e4;
  --text:#26312c;
  --subtle:#7b8781;
}
.sidebar{
  width:248px;background:#fff;color:#26312c;border-right:1px solid #e1e7e4;
  box-shadow:0 0 0 0 transparent;padding:14px 12px;
}
.brand{height:70px;border-bottom:1px solid #edf1ef;padding:5px 8px 16px}
.brand-logo{width:190px;height:50px}
.main-nav{padding:12px 0}
.nav-section{color:#9aa39f;font-size:9px;padding:15px 11px 5px}
.main-nav a{
  color:#55605b;background:transparent;border-radius:9px;padding:10px 12px;
  font-weight:650;border:0!important;box-shadow:none!important;transform:none!important;
}
.main-nav a:hover,.main-nav a:focus{
  color:#245f46;background:#f0f7f3;border:0!important;box-shadow:none!important;transform:none!important;
}
.main-nav a.active{
  color:#1f6a49;background:#e8f4ee;font-weight:800;
}
.nav-settings{margin-top:10px!important;border-top:1px solid #edf1ef!important;border-radius:0!important;padding-top:16px!important}
.nav-settings.active{border-radius:9px!important;border-top-color:transparent!important}
.sidebar-bottom{border-top:1px solid #edf1ef;color:#44504a}
.user-mini span,.app-version{color:#8a958f}.logout-link{color:#65716b}.logout-link:hover{color:#1f6a49}
main{margin-left:248px;background:#f5f7f6;padding:26px 30px 42px}
.card,.panel,.content-card,.kpi-card{
  background:#fff;border:1px solid #e1e7e4;box-shadow:0 1px 2px rgba(32,48,40,.02);
}
.page-header{align-items:center}.eyebrow{color:#7f8b85}
.btn,button{background:#2f8f67}.btn:hover,button:hover{background:#257452}
.secondary{background:#f0f3f1;color:#46524c;border:1px solid #e0e6e3}.secondary:hover{background:#e7ece9}
input,select,textarea{border:1px solid #dce3df;background:#fff}
input:focus,select:focus,textarea:focus{border-color:#7eb89d;outline:3px solid rgba(47,143,103,.09)}
.toolbar{background:#fff;border-color:#e1e7e4}
.data-table th{background:#f8faf9;color:#6f7b75}
.data-table tbody tr:hover td{background:#f7fbf9}
.settings-nav a.active{background:#e8f4ee;color:#1f6a49}
.tag{background:#edf7f2;color:#276a4d;border:1px solid #d9ede3}
.status-badge.active{background:#e7f5ed;color:#226845}
.status-badge.passive{background:#f1f3f2;color:#5f6a65}
.kpi-card:hover{border-color:#cfe8dc}

/* sticky name column in member table */
#membersTable th[data-col="name"],#membersTable td[data-col="name"]{
  position:sticky;left:0;z-index:3;background:#fff;
  box-shadow:1px 0 0 #e6ebe8;
}
#membersTable th[data-col="name"]{z-index:5;background:#f8faf9}
#membersTable tbody tr:hover td[data-col="name"]{background:#f7fbf9}

/* member profile */
.member-profile-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:#fff;border:1px solid #e1e7e4;border-radius:13px;padding:18px 20px;margin-bottom:14px;
}
.profile-identity{display:flex;align-items:center;gap:14px}.profile-identity h1{margin:2px 0 7px}
.profile-photo{width:62px;height:62px;border-radius:12px;object-fit:cover;border:1px solid #dce4e0}
.profile-placeholder{display:grid;place-items:center;background:#eaf4ef;color:#286a4e;font-size:20px;font-weight:800}
.profile-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.profile-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.profile-kpis>div{background:#fff;border:1px solid #e1e7e4;border-radius:11px;padding:13px 15px;display:grid;gap:3px}
.profile-kpis span{color:#7b8781;font-size:11px}.profile-kpis strong{font-size:18px}
.profile-tabs{
  display:flex;gap:2px;overflow:auto;background:#fff;border:1px solid #e1e7e4;
  border-radius:11px;padding:5px;margin-bottom:14px;
}
.profile-tab{
  background:transparent!important;color:#6c7772!important;padding:8px 12px!important;border-radius:7px!important;
  white-space:nowrap;min-height:0;font-size:12px;
}
.profile-tab:hover{background:#f3f7f5!important;color:#315d49!important}
.profile-tab.active{background:#e8f4ee!important;color:#1f6a49!important;font-weight:800}
.profile-tab-content{display:none}.profile-tab-content.active{display:block}
.profile-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
.content-card{border-radius:12px;padding:0;overflow:hidden}
.content-card-head{padding:14px 16px;border-bottom:1px solid #edf1ef;background:#fbfcfb}
.content-card-head h2{font-size:15px;margin:0}
.detail-list{margin:0;padding:5px 16px}
.detail-list>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #f0f2f1}
.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:#7d8983;font-size:12px}.detail-list dd{margin:0;color:#2d3833;font-weight:600}
.simple-list{padding:5px 16px}.simple-list>div{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f2f1}
.simple-list>div:last-child{border-bottom:0}.simple-list a{color:#276a4d;text-decoration:none;font-weight:700}
.compact-form{padding:14px 16px;border-top:1px solid #edf1ef}.tag-list{padding:16px}.timeline{padding:5px 16px}
.timeline>div{padding:11px 0;border-bottom:1px solid #f0f2f1}.timeline span{font-size:11px;color:#87928d}.timeline strong{display:block;margin-top:2px}.timeline p{margin:3px 0 0;color:#65716b}
@media(max-width:1000px){.sidebar{width:auto;border-right:0;border-bottom:1px solid #e1e7e4}.main-nav a.active{background:#e8f4ee}.profile-grid{grid-template-columns:1fr}}
@media(max-width:700px){.member-profile-head{align-items:flex-start;flex-direction:column}.profile-kpis{grid-template-columns:1fr 1fr}.detail-list>div{grid-template-columns:1fr;gap:3px}}

/* 0.7.1 – Vereinsfarben und Navigation */
:root{
  --bg:#f2f8f4;
  --panel:#ffffff;
  --text:#18382a;
  --muted:#5e7769;
  --border:#cfe2d6;
  --accent:#198754;
  --accent-soft:#e4f3ea;
  --primary:#198754;
  --primary-dark:#167c4d;
  --green:#198754;
  --green-soft:#e4f3ea;
  --green-border:#cfe2d6;
  --page:#f2f8f4;
  --surface:#ffffff;
  --surface-2:#f7fbf8;
  --line:#cfe2d6;
}

/* dunkle Vereinsnavigation */
.sidebar{
  width:226px;
  background:#202b33;
  color:#dbe5ea;
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:none;
  padding:0;
}
.brand{
  height:82px;
  min-height:82px;
  padding:18px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#202b33;
}
.brand-logo{
  width:194px;
  height:46px;
  object-fit:contain;
  object-position:left center;
}
.main-nav{
  padding:14px 9px;
  gap:4px;
}
.nav-section{
  color:#92a5b0;
  font-size:9px;
  padding:14px 11px 4px;
}
.main-nav a{
  color:#c9d5dc;
  background:transparent;
  border:0!important;
  border-radius:8px;
  padding:10px 11px;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
}
.main-nav a:hover,
.main-nav a:focus{
  background:rgba(255,255,255,.07);
  color:#fff;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
}
.main-nav a.active{
  background:#198754;
  color:#fff;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.55)!important;
  border:0!important;
}
.nav-settings{
  border-top:1px solid rgba(255,255,255,.08)!important;
  margin-top:8px!important;
  padding-top:14px!important;
  border-radius:0!important;
}
.nav-settings.active{
  border-radius:8px!important;
  border-top-color:transparent!important;
}
.sidebar-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:10px 13px 14px;
  color:#dbe5ea;
}
.user-mini strong{color:#fff}
.user-mini span,.app-version{color:#92a5b0}
.logout-link{color:#c9d5dc}
.logout-link:hover{color:#fff}

/* Hauptbereich mit Vereinsgrün */
html,body,main{
  background:#f2f8f4;
  color:#18382a;
}
main{
  margin-left:226px;
}
h1,h2,h3{color:#18382a}
.muted,.eyebrow{color:#5e7769}
.card,.panel,.content-card,.kpi-card,.toolbar,.member-profile-head,.profile-kpis>div,.profile-tabs{
  background:#fff;
  border-color:#cfe2d6;
}
.btn,button{
  background:#198754;
  color:#fff;
}
.btn:hover,button:hover{
  background:#167c4d;
}
.secondary{
  background:#eef7f2;
  color:#185f3e;
  border-color:#cfe2d6;
}
.secondary:hover{
  background:#e4f3ea;
  color:#176c46;
}
input,select,textarea{
  border-color:#cfe2d6;
  color:#18382a;
}
input:focus,select:focus,textarea:focus{
  border-color:#198754;
  outline:3px solid rgba(25,135,84,.11);
}
.settings-nav a.active,
.profile-tab.active{
  background:#e4f3ea!important;
  color:#176c46!important;
}
.tag{
  background:#e4f3ea;
  color:#176c46;
  border-color:#cfe2d6;
}
.member-link,.panel-head a,.backup-list a strong,.simple-list a{
  color:#176c46;
}
.status-badge.active{
  background:#e7f5ec;
  color:#176c46;
}
.data-table th{
  background:#f7fbf8;
  color:#5e7769;
}
.data-table tbody tr:hover td,
#membersTable tbody tr:hover td[data-col="name"]{
  background:#eef7f2;
}
#membersTable th[data-col="name"]{
  background:#f7fbf8;
}
.kpi-card:hover{
  border-color:#198754;
}
.list-avatar,
.profile-placeholder{
  background:#e4f3ea;
  color:#176c46;
}
.profile-tab:hover{
  background:#eef7f2!important;
  color:#176c46!important;
}
.settings-shortcuts a{
  background:#e4f3ea;
  color:#176c46;
}
.settings-shortcuts a:hover{
  background:#d9eee3;
}

/* ruhige Kartenoptik */
.card,.panel,.content-card,.kpi-card{
  box-shadow:0 8px 24px rgba(31,77,58,.06);
}

/* 0.8.0 larger tabs and club categories */
.profile-tabs{padding:7px;gap:5px}
.profile-tab{
  font-size:14px!important;
  padding:11px 17px!important;
  min-height:42px!important;
}
.edit-tabs{
  display:flex;gap:6px;overflow:auto;background:#fff;border:1px solid #cfe2d6;
  border-radius:12px;padding:7px;margin-bottom:14px;position:sticky;top:10px;z-index:8;
  box-shadow:0 8px 24px rgba(31,77,58,.06);
}
.edit-tab{
  background:transparent!important;color:#5e7769!important;border:0!important;
  min-height:46px!important;padding:11px 18px!important;border-radius:8px!important;
  font-size:14px!important;white-space:nowrap;
}
.edit-tab:hover{background:#eef7f2!important;color:#176c46!important}
.edit-tab.active{background:#198754!important;color:#fff!important}
.edit-panel{display:none}.edit-panel.active{display:block}
.tab-card{padding:24px}.large-fields{gap:20px}.large-fields label{font-size:14px}
.large-fields input,.large-fields select{min-height:44px;font-size:15px}
.form-help{margin:18px 0 0;padding:12px 14px;background:#f2f8f4;border:1px solid #cfe2d6;border-radius:9px;color:#5e7769}
.big-check{min-height:44px;align-content:center}.notes-label{display:grid;gap:7px;font-weight:650;margin-top:20px}.notes-label textarea{min-height:150px}
.sticky-form-actions{position:sticky;bottom:0;background:rgba(242,248,244,.95);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;gap:8px;padding:12px 0 4px;z-index:9}
.category-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid transparent}
.category-badge.active{background:#e4f3ea;color:#176c46;border-color:#cfe2d6}
.category-badge.passive{background:#eef1ef;color:#5e6a64;border-color:#d9e1dd}
.category-badge.youth{background:#f2f8f4;color:#198754;border-color:#bcdcc9}
.finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-4px 0 18px}
.finance-summary a{background:#fff;border:1px solid #cfe2d6;border-radius:11px;padding:12px 15px;text-decoration:none;color:#18382a;display:flex;justify-content:space-between;align-items:center}
.finance-summary span{color:#5e7769;font-size:12px}.finance-summary strong{font-size:16px}
@media(max-width:700px){.edit-tabs{position:static}.edit-tab{font-size:13px!important;padding:10px 13px!important}.tab-card{padding:17px}.finance-summary{grid-template-columns:1fr}}

.input-with-suffix{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:9px}.input-with-suffix span{color:#5e7769;font-weight:600}
.invoice-actions{display:flex;align-items:center;gap:6px}.invoice-actions form{margin:0}.small-btn{min-height:30px!important;padding:5px 9px!important;font-size:11px!important}
.legacy-finance{margin-top:18px}.legacy-finance>summary{cursor:pointer;color:#5e7769;font-weight:700;padding:10px 2px}.legacy-finance .card{margin-top:8px}
.simple-list span small{display:block;color:#7a8b82;font-size:10px;margin-top:2px;font-weight:400}
.field-hint{display:block;color:#6f8178;font-size:11px;font-weight:500;margin-top:4px}

/* 1.0.0 editable member tabs */
.tab-edit-form{padding:0}.tab-edit-form .content-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tab-edit-form .content-card-head button{min-height:34px;padding:6px 12px}
.profile-edit-grid{padding:18px;gap:16px}.profile-edit-grid label{display:grid;gap:6px;font-weight:650;color:#33473d}
.profile-edit-grid input,.profile-edit-grid select,.profile-edit-grid textarea{min-height:42px}
.license-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}
.license-check{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #cfe2d6;border-radius:9px;background:#f7fbf8;font-weight:700}
.license-check input{width:auto;min-height:0}
.master-row-custom{grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) 90px auto auto}
.invoice-format-preview{padding:12px 14px;background:#f2f8f4;border:1px solid #cfe2d6;border-radius:9px}
.invoice-format-preview code{font-size:14px;color:#176c46;font-weight:800}
@media(max-width:800px){.license-grid{grid-template-columns:1fr}.master-row-custom{grid-template-columns:1fr}.profile-edit-grid{grid-template-columns:1fr}.profile-edit-grid .span2{grid-column:auto}}

/* 1.0.1 draggable member-table columns */
#membersTable thead th[data-col]{
  cursor:grab;
  user-select:none;
  position:relative;
}
#membersTable thead th[data-col]:active{cursor:grabbing}
#membersTable thead th.dragging{opacity:.45;background:#e4f3ea!important}
#membersTable thead th.drag-over-left::before,
#membersTable thead th.drag-over-right::after{
  content:"";
  position:absolute;
  top:4px;
  bottom:4px;
  width:3px;
  background:#198754;
  border-radius:3px;
}
#membersTable thead th.drag-over-left::before{left:0}
#membersTable thead th.drag-over-right::after{right:0}
.col-drag-handle{
  display:inline-block;
  margin-right:6px;
  color:#8aa096;
  font-size:10px;
  letter-spacing:-2px;
  vertical-align:1px;
}
#membersTable th[data-col="name"],
#membersTable td[data-col="name"]{
  position:static!important;
  left:auto!important;
  box-shadow:none!important;
}

/* 1.0.3 individual billing only */
.billing-master-switch{padding:18px 18px 0}
.billing-switch{background:#eef7f2;border-color:#bcdcc9}
.billing-switch span{display:grid;gap:3px}
.billing-switch small{font-weight:500;color:#5e7769}
.billing-options{transition:opacity .15s ease,filter .15s ease}
.billing-options.billing-options-off{opacity:.46;filter:grayscale(.18)}
.finance-info{margin:10px 0 18px}

/* 1.0.4 contribution preview */
.contribution-preview-card{border-color:#bcdcc9;background:linear-gradient(180deg,#fff 0,#fbfefc 100%)}
.contribution-preview-card .content-card-head p{margin:3px 0 0;color:#5e7769;font-size:12px}
.preview-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e4f3ea;color:#176c46;font-size:11px;font-weight:800;white-space:nowrap}
.contribution-preview-summary{padding:14px 16px;background:#f2f8f4;border-top:1px solid #d8e9df;border-bottom:1px solid #d8e9df;color:#4f685a}
.contribution-preview-summary strong{color:#18382a}
.contribution-preview-table small{color:#7a8b82}

/* 1.0.5 manual invoices + article catalog */
.modal-backdrop{position:fixed;inset:0;background:rgba(20,30,25,.46);z-index:1000;display:grid;place-items:center;padding:24px}
.modal-backdrop[hidden]{display:none}
.modal-card{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.2);padding:18px}
.large-modal{width:min(1080px,97vw)}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.icon-btn{border:0;background:transparent;font-size:26px;cursor:pointer}
.invoice-builder-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}
.invoice-item-row{display:grid;grid-template-columns:180px minmax(220px,1fr) 80px 90px 110px 100px 38px;gap:8px;align-items:center;margin-bottom:8px}
.invoice-item-row input,.invoice-item-row select{min-height:38px}
.manual-total{text-align:right;font-size:16px;padding:12px 0 16px}
.manual-total strong{font-size:20px}
.article-list{margin-top:18px}
.article-list .master-row{grid-template-columns:1fr 80px 100px auto}
@media(max-width:900px){.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row .item-total{align-self:center}.large-modal{width:98vw}}

/* 1.0.7 editable manual invoices + live invoice preview */
.invoice-editor-modal{width:min(1500px,98vw);max-height:94vh}
.invoice-editor-grid{display:grid;grid-template-columns:minmax(520px,.9fr) minmax(620px,1.1fr);gap:22px;align-items:start}
.invoice-editor-form{min-width:0}
.invoice-preview-shell{position:sticky;top:0;min-width:0}
.invoice-preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#425b4e}
.invoice-page-preview{
  background:#fff;
  width:100%;
  aspect-ratio:210/297;
  border:1px solid #d6ded9;
  box-shadow:0 10px 28px rgba(25,55,40,.11);
  padding:6.2% 6.5%;
  overflow:hidden;
  color:#202020;
  font-size:clamp(8px,.66vw,11px);
}
.preview-club-head{display:flex;gap:3%;align-items:center}
.preview-logo-box{width:11%;aspect-ratio:1;border:1px solid #b8c9bf;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#198754}
.preview-club-head strong{font-size:1.55em;display:block}
.preview-club-head small{display:block;margin-top:.4em;color:#555}
.preview-recipient{margin-top:7%;line-height:1.45}
.invoice-page-preview h2{font-size:1.85em;margin:8% 0 1.4%}
.preview-meta{display:grid;gap:.35em;margin-bottom:4%}
.preview-invoice-table{width:100%;border-collapse:collapse;table-layout:fixed}
.preview-invoice-table th,.preview-invoice-table td{padding:.65em .45em;border-bottom:1px solid #d9dfdb;text-align:right;vertical-align:top}
.preview-invoice-table th:nth-child(1),.preview-invoice-table td:nth-child(1){width:7%;text-align:left}
.preview-invoice-table th:nth-child(2),.preview-invoice-table td:nth-child(2){width:43%;text-align:left}
.preview-invoice-table th:nth-child(3),.preview-invoice-table td:nth-child(3){width:12%}
.preview-invoice-table th:nth-child(4),.preview-invoice-table td:nth-child(4){width:18%}
.preview-invoice-table th:nth-child(5),.preview-invoice-table td:nth-child(5){width:20%}
.preview-total-row{display:flex;justify-content:flex-end;gap:8%;margin-top:3%;font-size:1.08em}
.preview-note{margin-top:6%;white-space:pre-wrap}
.preview-footer{position:static}
@media(max-width:1180px){
  .invoice-editor-grid{grid-template-columns:1fr}
  .invoice-preview-shell{position:static}
  .invoice-page-preview{max-width:760px;margin:0 auto}
}

/* 1.0.7 contribution invoice full-page preview */
.contribution-invoice-preview-wrap{margin:18px 16px 16px}
.contribution-full-preview{max-width:820px;margin:0 auto;position:relative}
.preview-sender-line{margin-top:6%;font-size:.8em;color:#666}
.preview-payment-note{margin-top:5%;font-size:.9em}
.preview-bank-grid{display:grid;grid-template-columns:1fr 110px;gap:20px;margin-top:6%;align-items:start}
.preview-qr-placeholder{width:90px;height:90px;border:1px dashed #8fa397;display:grid;place-items:center;font-weight:800;color:#607568;background:repeating-linear-gradient(45deg,#f2f8f4,#f2f8f4 4px,#fff 4px,#fff 8px)}

/* 1.0.8 invoice editor layout fixes */
.invoice-editor-modal{
  width:min(1440px,96vw);
  max-width:96vw;
  max-height:94vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.invoice-editor-modal .modal-head{flex:0 0 auto}
.invoice-editor-grid{
  display:grid;
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap:20px;
  min-height:0;
  overflow:hidden;
  align-items:start;
}
.invoice-editor-form{
  min-width:0;
  max-height:82vh;
  overflow:auto;
  padding-right:6px;
}
.invoice-preview-shell{
  min-width:0;
  max-height:82vh;
  overflow:auto;
  position:relative;
}
.invoice-page-preview{
  width:100%;
  max-width:720px;
  margin:0 auto;
  min-width:0;
}
.invoice-item-row{
  grid-template-columns:minmax(130px,1.15fr) minmax(180px,1.6fr) 72px 76px 96px 92px 36px;
}
.preview-payment-text{margin-top:5%;font-size:.92em;line-height:1.5}
.preview-bank-text{margin-top:2%;font-size:.84em;line-height:1.45;color:#4f5f56}
@media(max-width:1250px){
  .invoice-editor-grid{grid-template-columns:1fr}
  .invoice-editor-form,.invoice-preview-shell{max-height:none;overflow:visible}
  .invoice-editor-modal{overflow:auto}
  .invoice-preview-shell{border-top:1px solid #dfe7e2;padding-top:18px}
}
@media(max-width:760px){
  .invoice-editor-modal{width:98vw;max-width:98vw;padding:12px}
  .invoice-item-row{grid-template-columns:1fr 1fr}
  .invoice-item-row .item-desc{grid-column:span 2}
  .invoice-page-preview{font-size:8px}
}

/* 1.0.9 invoice preview branding + qr + visible footer */
.preview-logo-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.preview-logo-image{
  width:100%;
  height:100%;
  object-fit:contain;
}
.invoice-page-preview{
  display:flex;
  flex-direction:column;
}
.preview-payment-qr{
  margin-top:3%;
  display:flex;
  justify-content:flex-end;
}
.preview-payment-qr img{
  width:94px;
  height:94px;
  border:1px solid #d4ddd7;
  padding:5px;
  background:#fff;
}
.preview-note{
  margin-top:4%;
  white-space:pre-wrap;
}
.preview-footer{
  margin-top:auto;
  padding-top:5%;
  border-top:1px solid #d7ded9;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  font-size:.82em;
  line-height:1.4;
  color:#4b5f54;
}
.preview-footer span{
  display:block;
  white-space:pre-line;
}

/* 1.0.12 member navigation + edit identity */
.edit-member-identity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 16px;
  border:1px solid #cfe2d6;
  border-radius:10px;
  background:#f2f8f4;
  margin-bottom:14px;
}
.edit-member-identity>div{display:flex;gap:8px;align-items:baseline}
.edit-member-identity span{color:#5e7769;font-size:12px}
.edit-member-identity strong{color:#18382a;font-size:15px}
@media(max-width:700px){
  .edit-member-identity{align-items:flex-start;flex-direction:column}
}

/* 1.0.13 member right-click context menu */
.member-context-menu{
  position:fixed;
  z-index:2500;
  width:210px;
  background:#fff;
  border:1px solid #cfe2d6;
  border-radius:10px;
  box-shadow:0 12px 34px rgba(20,43,31,.18);
  padding:6px;
}
.member-context-menu[hidden]{display:none}
.member-context-title{
  padding:8px 10px 7px;
  margin-bottom:4px;
  border-bottom:1px solid #e4ece7;
  font-weight:800;
  color:#18382a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.member-context-menu a{
  display:block;
  padding:9px 10px;
  border-radius:7px;
  color:#253c31;
  text-decoration:none;
  font-weight:650;
}
.member-context-menu a:hover{
  background:#e4f3ea;
  color:#176c46;
}
#membersTable tbody tr.member-context-row{cursor:context-menu}
#membersTable tbody tr.context-active td{background:#eef7f2}

/* 1.0.14 member live search */
.member-live-search{
  position:relative;
  flex:1;
  max-width:430px;
  min-width:260px;
}
.member-live-search>input{max-width:none!important}
.member-live-results{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 5px);
  z-index:2200;
  background:#fff;
  border:1px solid #cfe2d6;
  border-radius:10px;
  box-shadow:0 14px 34px rgba(24,56,42,.16);
  max-height:390px;
  overflow:auto;
}
.member-live-results[hidden]{display:none}
.member-live-result{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  text-decoration:none;
  color:#18382a;
  border-bottom:1px solid #edf2ef;
}
.member-live-result:last-child{border-bottom:0}
.member-live-result:hover{background:#e4f3ea}
.member-live-result strong{display:block;font-size:14px}
.member-live-result span{display:block;color:#5e7769;font-size:12px;margin-top:2px}
.member-live-result small{color:#728579;align-self:center;text-align:right;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-live-empty{padding:12px;color:#5e7769}
@media(max-width:800px){
  .member-live-search{max-width:none;width:100%;min-width:0}
}

/* 1.0.15 clearer contribution terminology + payment status */
.payment-status-badge{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:800;
}
.payment-status-badge.paid{
  background:#e4f3ea;
  color:#137044;
  border:1px solid #b9dbc7;
}
.payment-status-badge.unpaid{
  background:#fdeaea;
  color:#a32929;
  border:1px solid #efc1c1;
}

/* 1.0.16 clearer finance settings */
.finance-structure-info{
  line-height:1.7;
  background:#f2f8f4;
  border:1px solid #cfe2d6;
  color:#29483a;
}
.finance-structure-info strong{color:#18382a}

/* 1.0.17 member lifecycle status */
.member-status-badge{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  font-weight:800;
  border:1px solid transparent;
}
.member-status-badge.active{
  background:#e4f3ea;
  color:#137044;
  border-color:#b9dbc7;
}
.member-status-badge.left{
  background:#f2f3f4;
  color:#58626a;
  border-color:#d7dce0;
}
.member-status-badge.deceased{
  background:#f6eeee;
  color:#773737;
  border-color:#e2caca;
}


/* 1.0.20 – konfigurierbare Designoptionen */
body{
  --ui-sidebar-width:226px;
  --ui-radius:10px;
  --ui-card-shadow:0 2px 10px rgba(20,43,31,.045);
  --ui-font-scale:1;
  --ui-nav-pad-y:9px;
  font-size:calc(14px * var(--ui-font-scale));
}
body.ui-font-small{--ui-font-scale:.92}
body.ui-font-normal{--ui-font-scale:1}
body.ui-font-large{--ui-font-scale:1.10}

body.ui-sidebar-compact{--ui-sidebar-width:190px}
body.ui-sidebar-normal{--ui-sidebar-width:226px}
body.ui-sidebar-wide{--ui-sidebar-width:270px}

body.ui-nav-compact{--ui-nav-pad-y:6px}
body.ui-nav-normal{--ui-nav-pad-y:9px}
body.ui-nav-comfortable{--ui-nav-pad-y:12px}

body.ui-radius-square{--ui-radius:0px;--radius:0px}
body.ui-radius-normal{--ui-radius:10px}
body.ui-radius-round{--ui-radius:17px}

body.ui-shadow-none{--ui-card-shadow:none}
body.ui-shadow-soft{--ui-card-shadow:0 2px 10px rgba(20,43,31,.045)}
body.ui-shadow-strong{--ui-card-shadow:0 10px 28px rgba(20,43,31,.12)}

body .sidebar{width:var(--ui-sidebar-width)}
body main{margin-left:var(--ui-sidebar-width)}
body .main-nav a{padding:var(--ui-nav-pad-y) 11px}
body .card,
body input,
body select,
body textarea,
body .btn,
body button,
body .dropdown-panel,
body .member-context-menu{border-radius:var(--ui-radius)}
body .card{box-shadow:var(--ui-card-shadow)}
body .tablewrap{border-radius:var(--ui-radius)}

body.ui-width-standard main{max-width:1450px}
body.ui-width-wide main{max-width:none}
body.ui-width-full main{max-width:none}

/* 2.5.110 – breite Desktopansicht nutzt den verfügbaren Monitor vollständig. */
@media(min-width:1001px){
  body main{width:calc(100% - var(--ui-sidebar-width));box-sizing:border-box}
}

.design-settings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.design-setting-card{
  display:grid;
  gap:7px;
  padding:15px;
  border:1px solid #cfe2d6;
  background:#f8fbf9;
  border-radius:var(--ui-radius);
}
.design-setting-card strong{color:#18382a;font-size:14px}
.design-setting-card small{color:#5e7769;min-height:34px}
.design-secondary-title{margin-top:6px}
.design-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:#f2f8f4;
  border-color:#cfe2d6;
  margin:0;
}
.design-preview h3{margin:4px 0}
.design-preview p{margin:0}
.design-preview-actions{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:1100px){
  .design-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  body .sidebar{width:auto}
  body main{margin-left:0}
}
@media(max-width:700px){
  .design-settings-grid{grid-template-columns:1fr}
  .design-preview{align-items:flex-start;flex-direction:column}
}


/* 1.0.21 – Farbschemata */
body{
  --ui-primary:#198754;
  --ui-primary-dark:#146c43;
  --ui-soft:#e4f3ea;
  --ui-soft-2:#f2f8f4;
  --ui-text:#18382a;
  --ui-muted:#5e7769;
  --ui-border:#cfe2d6;
  --ui-sidebar:#202b33;
}
body.ui-color-svh-green{
  --ui-primary:#198754;
  --ui-primary-dark:#146c43;
  --ui-soft:#e4f3ea;
  --ui-soft-2:#f2f8f4;
  --ui-text:#18382a;
  --ui-muted:#5e7769;
  --ui-border:#cfe2d6;
  --ui-sidebar:#202b33;
}
body.ui-color-forest{
  --ui-primary:#2f6b45;
  --ui-primary-dark:#235036;
  --ui-soft:#e8f1eb;
  --ui-soft-2:#f4f8f5;
  --ui-text:#183629;
  --ui-muted:#62746a;
  --ui-border:#c9dccf;
  --ui-sidebar:#223128;
}
body.ui-color-blue{
  --ui-primary:#2f6fed;
  --ui-primary-dark:#2458bc;
  --ui-soft:#e9f0ff;
  --ui-soft-2:#f4f7fd;
  --ui-text:#1d2f52;
  --ui-muted:#61708d;
  --ui-border:#ccd9f4;
  --ui-sidebar:#202b3a;
}
body.ui-color-slate{
  --ui-primary:#475569;
  --ui-primary-dark:#334155;
  --ui-soft:#eef1f4;
  --ui-soft-2:#f6f7f8;
  --ui-text:#1f2937;
  --ui-muted:#6b7280;
  --ui-border:#d4d9df;
  --ui-sidebar:#252b33;
}
body.ui-color-burgundy{
  --ui-primary:#8b2f4b;
  --ui-primary-dark:#6f263c;
  --ui-soft:#f7e9ee;
  --ui-soft-2:#fbf5f7;
  --ui-text:#4a2230;
  --ui-muted:#80616d;
  --ui-border:#e5cbd4;
  --ui-sidebar:#33242a;
}

body{color:var(--ui-text);background:var(--ui-soft-2)}
body .sidebar{background:var(--ui-sidebar)}
body .btn,
body button{background:var(--ui-primary)}
body .btn:hover,
body button:hover{background:var(--ui-primary-dark)}
body .secondary{background:var(--ui-soft);color:var(--ui-text)}
body .secondary:hover{background:var(--ui-border);color:var(--ui-text)}
body input:focus,
body select:focus,
body textarea:focus{outline-color:color-mix(in srgb,var(--ui-primary) 18%, transparent);border-color:var(--ui-primary)}
body .settings-nav a.active{background:var(--ui-soft);color:var(--ui-primary-dark)}
body .member-link,
body .pagination a,
body .linkbutton{color:var(--ui-primary)!important}
body .category-badge,
body .tag{background:var(--ui-soft);color:var(--ui-primary-dark)}
body .card{border-color:var(--ui-border)}
body .design-setting-card{border-color:var(--ui-border);background:var(--ui-soft-2)}
body .design-setting-card strong{color:var(--ui-text)}

.design-preview{
  --preview-primary:#198754;
  --preview-primary-dark:#146c43;
  --preview-soft:#e4f3ea;
  --preview-text:#18382a;
  --preview-border:#cfe2d6;
  border:1px solid var(--preview-border)!important;
  background:var(--preview-soft)!important;
  color:var(--preview-text)!important;
  transition:.15s ease;
}
.design-preview h3{color:var(--preview-text)!important}
.design-preview button{background:var(--preview-primary)!important}
.design-preview button:hover{background:var(--preview-primary-dark)!important}
.design-preview .secondary{background:white!important;color:var(--preview-text)!important;border:1px solid var(--preview-border)}
.design-preview-demo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.design-preview-badge{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:white;
  color:var(--preview-primary-dark);
  border:1px solid var(--preview-border);
  font-weight:800;
}


/* 1.0.22 – Sonstige Rechnung: breiter Formularbereich ohne horizontales Scrollen */
.invoice-editor-modal{
  width:min(1760px,98vw);
  max-width:98vw;
}

.invoice-editor-grid{
  grid-template-columns:minmax(760px,1.45fr) minmax(480px,.85fr);
  gap:18px;
}

.invoice-editor-form{
  min-width:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
}

.invoice-editor-form .form-grid{
  min-width:0;
}

.invoice-item-row{
  width:100%;
  min-width:0;
  grid-template-columns:
    minmax(105px,1.05fr)
    minmax(145px,1.55fr)
    62px
    66px
    86px
    82px
    34px;
  gap:7px;
}

.invoice-item-row > *{
  min-width:0;
  max-width:100%;
}

.invoice-item-row input,
.invoice-item-row select{
  width:100%;
}

/* Auf etwas kleineren Desktop-Bildschirmen Formular oben, Vorschau darunter.
   So entsteht niemals ein seitliches Scrollen im Eingabebereich. */
@media(max-width:1380px){
  .invoice-editor-grid{
    grid-template-columns:1fr;
    overflow:visible;
  }
  .invoice-editor-form,
  .invoice-preview-shell{
    max-height:none;
    overflow:visible;
  }
  .invoice-editor-modal{
    overflow:auto;
  }
  .invoice-preview-shell{
    border-top:1px solid #dfe7e2;
    padding-top:18px;
  }
  .invoice-page-preview{
    max-width:760px;
    margin:0 auto;
  }
}

@media(max-width:820px){
  .invoice-item-row{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .invoice-item-row .article-select,
  .invoice-item-row .item-desc{
    grid-column:span 2;
  }
  .invoice-item-row .item-total{
    align-self:center;
  }
}


/* 1.0.24 – IBAN/BIC validation */
.iban-status.ok{color:#137044;font-weight:700}
.iban-status.error{color:#a32929;font-weight:700}
.iban-status.warning{color:#8a6418;font-weight:700}
input.iban-valid{
  border-color:#198754!important;
  box-shadow:0 0 0 2px rgba(25,135,84,.10);
}
input.iban-invalid{
  border-color:#c84040!important;
  box-shadow:0 0 0 2px rgba(200,64,64,.10);
}
input.bic-auto-filled{
  border-color:#198754;
  background:#f2f8f4;
}


/* 1.1.0 – Vereinsbuchhaltung */
.accounting-kpis{margin-bottom:18px}
.accounting-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px;align-items:start}
.accounting-entry-panel,.accounting-masterdata{min-width:0}
.inline-accounting-form{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:8px;margin-bottom:10px}
.inline-accounting-form:nth-of-type(2){grid-template-columns:minmax(0,1fr) auto}
.masterdata-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:15px}
.accounting-filter-head{align-items:flex-end;gap:16px}
.accounting-filters{justify-content:flex-end;flex-wrap:wrap}
.accounting-filters select{max-width:175px}
.accounting-kind{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
.accounting-kind.income{background:#e4f3ea;color:#137044}
.accounting-kind.expense{background:#fdeaea;color:#a32929}
.accounting-cancelled{opacity:.55;text-decoration:line-through}
.accounting-reports{align-items:start}
.accounting-table{min-width:1450px}
@media(max-width:1150px){
  .accounting-layout{grid-template-columns:1fr}
  .accounting-filter-head{align-items:stretch;flex-direction:column}
  .accounting-filters{justify-content:flex-start}
}
@media(max-width:700px){
  .inline-accounting-form,.inline-accounting-form:nth-of-type(2){grid-template-columns:1fr}
  .accounting-filters select{max-width:none}
}


/* 1.1.1 – Kontenplan */
.chart-of-accounts-panel{margin-top:18px}
.chart-of-accounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.coa-group{min-width:0}
.coa-group h3{margin:0 0 8px;color:var(--ui-text)}
.coa-table{min-width:520px}
.coa-table th:first-child,.coa-table td:first-child{width:95px}
.accounting-form select[name="ledger_account_id"]{font-weight:650}
@media(max-width:1100px){
  .chart-of-accounts-grid{grid-template-columns:1fr}
}


/* 1.1.2 – Buchhaltungssphären */
.sphere-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.sphere-ideell{background:#e4f3ea;color:#137044}
.sphere-vermoegen{background:#e9f0ff;color:#2458bc}
.sphere-zweckbetrieb{background:#fff2dd;color:#8a5a12}
.sphere-neutral{background:#eef1f4;color:#475569}
.coa-table{min-width:700px}


/* 1.1.3 – Geldkonten und Anfangsbestände */
.opening-balances-panel{margin:18px 0}
.opening-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.opening-balance-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:15px;background:var(--ui-soft-2)}
.opening-balance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.opening-balance-head strong,.opening-balance-head small{display:block}
.opening-balance-head small{color:var(--ui-muted);margin-top:4px}
.opening-balance-head b{font-size:20px;color:var(--ui-primary-dark);white-space:nowrap}
.opening-balance-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ui-muted);font-size:12px;margin:12px 0}
.opening-balance-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
@media(max-width:1000px){.opening-balance-grid{grid-template-columns:1fr}}
@media(max-width:700px){.opening-balance-form{grid-template-columns:1fr}}


/* 1.1.4 – Buchhaltung in Tabs */
.accounting-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:6px;
  margin:0 0 18px;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  background:#fff;
  position:sticky;
  top:8px;
  z-index:12;
  box-shadow:var(--ui-card-shadow);
}
.accounting-tab{
  background:transparent;
  color:var(--ui-muted);
  padding:10px 16px;
  border-radius:calc(var(--ui-radius) - 2px);
  font-weight:800;
}
.accounting-tab:hover{
  background:var(--ui-soft);
  color:var(--ui-primary-dark);
}
.accounting-tab.active{
  background:var(--ui-primary);
  color:#fff;
}
.accounting-tab-panel{display:none}
.accounting-tab-panel.active{display:block}
.accounting-welcome-panel{margin-top:18px}
.accounting-overview-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.accounting-jump{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  min-height:92px;
  padding:15px;
  background:var(--ui-soft-2);
  color:var(--ui-text);
  border:1px solid var(--ui-border);
}
.accounting-jump:hover{
  background:var(--ui-soft);
  color:var(--ui-text);
}
.accounting-jump strong{font-size:14px}
.accounting-jump span{font-size:12px;color:var(--ui-muted);margin-top:5px;font-weight:600}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-layout{margin-bottom:18px}
@media(max-width:900px){
  .accounting-overview-links{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .accounting-tabs{position:static;display:grid;grid-template-columns:1fr 1fr}
  .accounting-overview-links{grid-template-columns:1fr}
}


/* 1.1.5 – Frei / Umbuchungen zwischen Geldkonten */
.accounting-kind.transfer{
  background:#eef1f4;
  color:#475569;
}
.transfer-arrow{
  margin-top:4px;
  font-size:11px;
  font-weight:800;
  color:var(--ui-primary-dark);
}
#transferAccountWrap[hidden],
#ledgerAccountWrap[hidden],
#categoryWrap[hidden],
#costCenterWrap[hidden],
#payeeWrap[hidden]{
  display:none!important;
}


/* 1.1.6 – Geschäftsjahr schließen + Buchungen bearbeiten */
.accounting-year-actions{align-items:center}
.accounting-year-badge{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.accounting-year-badge.open{background:#e4f3ea;color:#137044;border:1px solid #b9dbc7}
.accounting-year-badge.closed{background:#eef1f4;color:#475569;border:1px solid #d4d9df}
.accounting-closed-notice{
  display:grid;
  gap:3px;
  padding:13px 16px;
  margin-bottom:18px;
  border:1px solid #d4d9df;
  border-radius:var(--ui-radius);
  background:#f5f6f7;
  color:#475569;
}
.accounting-closed-notice strong{color:#1f2937}
.accounting-closed-notice small{margin-top:3px}
.accounting-edit-modal{
  width:min(980px,96vw);
  max-height:92vh;
  overflow:auto;
}
.locked-value{
  padding:9px 11px;
  border:1px solid #d4d9df;
  border-radius:var(--ui-radius);
  background:#eef1f4;
  color:#6b7280;
  font-size:12px;
  font-weight:700;
}


/* 1.1.8 – editierbarer Kontenplan + PDF-Auswertungen */
.accounting-section-actions{
  display:flex;
  justify-content:flex-end;
  margin:-6px 0 10px;
}
.accounting-account-modal{
  width:min(820px,96vw);
  max-height:92vh;
  overflow:auto;
}
.accounting-account-inactive{
  opacity:.55;
}
.chart-of-accounts-panel .panel-head{
  gap:14px;
}
.coa-table{min-width:930px}


/* 1.1.9 – Kontenplan ohne horizontales Scrollen */
.chart-of-accounts-panel .chart-of-accounts-grid{
  grid-template-columns:1fr;
}
.chart-of-accounts-panel .tablewrap{
  overflow-x:visible;
}
.chart-of-accounts-panel .coa-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.chart-of-accounts-panel .coa-table th,
.chart-of-accounts-panel .coa-table td{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  vertical-align:middle;
}
.chart-of-accounts-panel .coa-table th:nth-child(1),
.chart-of-accounts-panel .coa-table td:nth-child(1){width:9%}
.chart-of-accounts-panel .coa-table th:nth-child(2),
.chart-of-accounts-panel .coa-table td:nth-child(2){width:28%}
.chart-of-accounts-panel .coa-table th:nth-child(3),
.chart-of-accounts-panel .coa-table td:nth-child(3){width:18%}
.chart-of-accounts-panel .coa-table th:nth-child(4),
.chart-of-accounts-panel .coa-table td:nth-child(4){width:12%}
.chart-of-accounts-panel .coa-table th:nth-child(5),
.chart-of-accounts-panel .coa-table td:nth-child(5){width:11%}
.chart-of-accounts-panel .coa-table th:nth-child(6),
.chart-of-accounts-panel .coa-table td:nth-child(6){width:10%}
.chart-of-accounts-panel .coa-table th:nth-child(7),
.chart-of-accounts-panel .coa-table td:nth-child(7){width:12%}
.chart-of-accounts-panel .coa-name-cell{
  line-height:1.25;
}
.chart-of-accounts-panel .sphere-badge{
  white-space:normal;
  text-align:center;
  justify-content:center;
}
.chart-of-accounts-panel .coa-action-cell .small-btn{
  width:100%;
  min-width:0;
  padding:6px 7px;
}
.chart-of-accounts-panel .coa-group{
  width:100%;
}

/* Tablet: keep table readable and still fit page */
@media(max-width:1050px){
  .chart-of-accounts-panel .coa-table{
    font-size:12px;
  }
  .chart-of-accounts-panel .coa-table th,
  .chart-of-accounts-panel .coa-table td{
    padding:7px 6px;
  }
  .chart-of-accounts-panel .coa-table th:nth-child(1),
  .chart-of-accounts-panel .coa-table td:nth-child(1){width:10%}
  .chart-of-accounts-panel .coa-table th:nth-child(2),
  .chart-of-accounts-panel .coa-table td:nth-child(2){width:26%}
  .chart-of-accounts-panel .coa-table th:nth-child(3),
  .chart-of-accounts-panel .coa-table td:nth-child(3){width:18%}
  .chart-of-accounts-panel .coa-table th:nth-child(4),
  .chart-of-accounts-panel .coa-table td:nth-child(4){width:12%}
  .chart-of-accounts-panel .coa-table th:nth-child(5),
  .chart-of-accounts-panel .coa-table td:nth-child(5){width:12%}
  .chart-of-accounts-panel .coa-table th:nth-child(6),
  .chart-of-accounts-panel .coa-table td:nth-child(6){width:10%}
  .chart-of-accounts-panel .coa-table th:nth-child(7),
  .chart-of-accounts-panel .coa-table td:nth-child(7){width:12%}
}

/* Small screens: cards instead of sideways scrolling */
@media(max-width:760px){
  .chart-of-accounts-panel .coa-table,
  .chart-of-accounts-panel .coa-table thead,
  .chart-of-accounts-panel .coa-table tbody,
  .chart-of-accounts-panel .coa-table tr,
  .chart-of-accounts-panel .coa-table th,
  .chart-of-accounts-panel .coa-table td{
    display:block;
    width:100%!important;
  }
  .chart-of-accounts-panel .coa-table thead{
    display:none;
  }
  .chart-of-accounts-panel .coa-table tr{
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    margin:0 0 10px;
    padding:8px 10px;
    background:#fff;
  }
  .chart-of-accounts-panel .coa-table td{
    display:grid;
    grid-template-columns:105px minmax(0,1fr);
    gap:8px;
    border:0!important;
    border-bottom:1px solid var(--ui-border)!important;
    padding:7px 0!important;
  }
  .chart-of-accounts-panel .coa-table td:last-child{
    border-bottom:0!important;
  }
  .chart-of-accounts-panel .coa-table td::before{
    content:attr(data-label);
    font-weight:800;
    color:var(--ui-muted);
  }
  .chart-of-accounts-panel .coa-action-cell .small-btn{
    width:auto;
    justify-self:start;
  }
}


/* 1.2.4 – Eigenbeleg */
.receipt-actions{
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
#selfReceiptModal textarea{
  width:100%;
  resize:vertical;
}


/* 1.2.7 – Splitbuchungen */
.accounting-split-panel{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  padding:12px;
  background:var(--ui-soft-2);
}
.split-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.split-panel-head strong,.split-panel-head small{display:block}
.split-panel-head small{color:var(--ui-muted);margin-top:2px}
.split-row{
  display:grid;
  grid-template-columns:minmax(210px,1.5fr) 105px minmax(135px,.9fr) minmax(135px,.9fr) minmax(140px,1fr) 34px;
  gap:7px;
  align-items:center;
  margin-bottom:7px;
}
.split-row .split-remove{
  width:34px;
  min-width:34px;
  padding:6px 0;
}
.split-total-line{
  display:flex;
  justify-content:flex-end;
  gap:20px;
  margin-top:9px;
  font-size:12px;
}
.split-total-line strong{color:#a32929}
.split-total-line strong.split-ok{color:#137044}
.split-table-line{
  margin-top:3px;
  font-size:11px;
  color:var(--ui-muted);
}
@media(max-width:1200px){
  .split-row{grid-template-columns:1fr 100px 1fr 1fr}
  .split-row .split-note{grid-column:1/4}
}
@media(max-width:700px){
  .split-row{grid-template-columns:1fr}
  .split-row .split-note{grid-column:auto}
  .split-row .split-remove{width:100%}
}


/* 1.2.8 – Splitbuchung Bugfix */
.split-total-line strong.split-error{color:#a32929}
.accounting-split-panel[hidden]{display:none!important}


/* 1.2.9 – Buchungen kompakt + Unterkategorien */
.accounting-subtabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:5px;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  background:#fff;
}
.accounting-subtab{
  background:transparent;
  color:var(--ui-muted);
  padding:8px 13px;
  border-radius:calc(var(--ui-radius) - 2px);
  font-weight:800;
}
.accounting-subtab:hover{background:var(--ui-soft);color:var(--ui-primary-dark)}
.accounting-subtab.active{background:var(--ui-primary);color:#fff}
.accounting-subpanel{display:none}
.accounting-subpanel.active{display:block}

/* The booking list gets the full content width. */
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  font-size:11px;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .tablewrap{
  overflow-x:visible;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th,
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
  padding:6px 5px;
  white-space:normal;
  overflow-wrap:anywhere;
  vertical-align:top;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(1),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(1){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(2),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(2){width:6%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(3),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(3){width:8%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(4),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(4){width:13%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(5),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(5){width:9%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(6),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(6){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(7),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(7){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(8),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(8){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(9),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(9){width:8%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(10),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(10){width:12%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(11),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(11){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(12),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(12){width:7%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(13),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(13){width:6%}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th:nth-child(14),
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:nth-child(14){width:8%}

.booking-purpose-cell{line-height:1.25}
.accounting-tab-panel[data-accounting-panel="bookings"] .sphere-badge{
  white-space:normal;
  text-align:center;
  padding:2px 5px;
  font-size:9px;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-kind,
.accounting-tab-panel[data-accounting-panel="bookings"] .status-badge{
  font-size:9px;
  padding:2px 5px;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .receipt-actions,
.accounting-tab-panel[data-accounting-panel="bookings"] .invoice-actions{
  gap:3px;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .small-btn{
  padding:4px 6px;
  font-size:10px;
}

/* Medium screens: cards are more usable than a 14-column sideways table. */
@media(max-width:1180px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table thead,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tbody,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tr,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
    display:block;
    width:100%!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table thead{display:none}
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tr{
    border:1px solid var(--ui-border);
    border-radius:var(--ui-radius);
    margin:0 0 10px;
    padding:8px 10px;
    background:#fff;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
    display:grid;
    grid-template-columns:125px minmax(0,1fr);
    gap:9px;
    border:0!important;
    border-bottom:1px solid var(--ui-border)!important;
    padding:7px 0!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td:last-child{border-bottom:0!important}
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td::before{
    content:attr(data-label);
    font-weight:800;
    color:var(--ui-muted);
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .invoice-actions,
  .accounting-tab-panel[data-accounting-panel="bookings"] .receipt-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

/* New booking no longer shares the screen with the list. */
.accounting-subpanel[data-bookings-panel="new"] .accounting-layout{
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);
}
@media(max-width:1000px){
  .accounting-subpanel[data-bookings-panel="new"] .accounting-layout{grid-template-columns:1fr}
}


/* 1.3.1 – Tab-Steuerung Buchhaltung */
.accounting-tab-panel[hidden],
.accounting-subpanel[hidden]{
  display:none!important;
}
.accounting-tab-panel.active:not([hidden]),
.accounting-subpanel.active:not([hidden]){
  display:block;
}
.accounting-tab,
.accounting-subtab{
  cursor:pointer;
}


/* 1.3.3 – Neue Buchung kompakter */
.accounting-subpanel[data-bookings-panel="new"]{
  max-width:1180px;
  margin:0 auto;
}

.accounting-entry-panel-compact,
.accounting-subpanel[data-bookings-panel="new"] .accounting-masterdata{
  padding:14px 16px;
}

.accounting-subpanel[data-bookings-panel="new"] .compact-head{
  margin-bottom:8px;
}

.accounting-subpanel[data-bookings-panel="new"] .compact-head h2{
  margin-bottom:2px;
  font-size:18px;
}

.accounting-subpanel[data-bookings-panel="new"] .compact-head p{
  margin:0;
  font-size:12px;
}

.accounting-form-compact .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 10px;
}

.accounting-form-compact label{
  gap:4px;
  font-size:12px;
}

.accounting-form-compact input,
.accounting-form-compact select,
.accounting-form-compact textarea{
  min-height:34px;
  padding:6px 8px;
  font-size:13px;
}

.accounting-form-compact .span2{
  grid-column:span 2;
}

.accounting-form-compact .check-chip{
  min-height:34px;
  padding:6px 9px;
  align-self:end;
}

.accounting-form-compact .field-hint{
  margin-top:1px;
  font-size:10px;
}

.accounting-form-compact .form-actions{
  margin-top:9px;
}

.accounting-form-compact .form-actions button{
  min-height:34px;
  padding:7px 13px;
}

.accounting-form-compact .accounting-split-panel{
  padding:9px;
}

.accounting-form-compact .split-panel-head{
  margin-bottom:6px;
}

.accounting-form-compact .split-row{
  gap:5px;
  margin-bottom:5px;
}

.accounting-form-compact .split-total-line{
  margin-top:6px;
  font-size:11px;
}

.accounting-subpanel[data-bookings-panel="new"] .accounting-layout{
  gap:12px;
  align-items:start;
}

.accounting-subpanel[data-bookings-panel="new"] .accounting-masterdata{
  position:sticky;
  top:12px;
}

.accounting-subpanel[data-bookings-panel="new"] .inline-accounting-form{
  gap:6px;
  margin-bottom:7px;
}

.accounting-subpanel[data-bookings-panel="new"] .inline-accounting-form input,
.accounting-subpanel[data-bookings-panel="new"] .inline-accounting-form select,
.accounting-subpanel[data-bookings-panel="new"] .inline-accounting-form button{
  min-height:32px;
  padding:5px 7px;
  font-size:12px;
}

.accounting-subpanel[data-bookings-panel="new"] .masterdata-chips{
  gap:4px;
}

.accounting-subpanel[data-bookings-panel="new"] .masterdata-chips .tag{
  padding:3px 6px;
  font-size:10px;
}

.compact-file-field input[type="file"]{
  padding:4px 6px;
}

@media(max-width:1050px){
  .accounting-form-compact .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .accounting-form-compact .span2{
    grid-column:span 2;
  }
  .accounting-subpanel[data-bookings-panel="new"] .accounting-masterdata{
    position:static;
  }
}

@media(max-width:650px){
  .accounting-form-compact .form-grid{
    grid-template-columns:1fr;
  }
  .accounting-form-compact .span2{
    grid-column:auto;
  }
}


/* 1.3.4 – Auswertungs-Tabs, editierbare Stammdaten, kompakter Kontenplan */
.report-subtabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:5px;
  margin-bottom:12px;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  background:#fff;
}
.report-subtab{
  border:0;
  background:transparent;
  color:var(--ui-muted);
  border-radius:calc(var(--ui-radius) - 2px);
  padding:8px 13px;
  font-weight:800;
  cursor:pointer;
}
.report-subtab:hover{background:var(--ui-soft);color:var(--ui-primary-dark)}
.report-subtab.active{background:var(--ui-primary);color:#fff}
.report-subpanel{display:none}
.report-subpanel.active{display:block}
.report-subpanel[hidden]{display:none!important}
.report-hint{
  padding:8px 12px;
  border-top:1px solid var(--ui-border);
  color:var(--ui-muted);
  font-size:12px;
}
.compact-report-table th,
.compact-report-table td{
  padding:7px 8px;
}

/* Editable master data */
.editable-masterdata{
  max-height:calc(100vh - 150px);
  overflow:auto;
}
.masterdata-section + .masterdata-section{
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid var(--ui-border);
}
.masterdata-section-head{
  margin-bottom:6px;
  font-size:12px;
}
.masterdata-add-form{
  grid-template-columns:minmax(0,1fr) 92px 32px!important;
}
.masterdata-edit-list{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:7px;
}
.masterdata-edit-row{
  display:flex;
  gap:4px;
  align-items:center;
  padding:5px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:#fff;
}
.masterdata-edit-row.inactive{opacity:.62}
.masterdata-edit-form{
  display:grid;
  grid-template-columns:minmax(90px,1fr) 78px auto auto;
  gap:4px;
  align-items:center;
  flex:1;
  min-width:0;
}
.cost-center-edit-form{
  grid-template-columns:minmax(100px,1fr) auto auto;
}
.masterdata-edit-form input,
.masterdata-edit-form select{
  min-width:0;
  height:29px;
  padding:4px 6px;
  font-size:11px;
}
.masterdata-edit-form .small-btn,
.masterdata-edit-row > form .small-btn{
  padding:4px 6px;
  min-height:29px;
  font-size:10px;
}
.mini-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:3px!important;
  font-size:10px!important;
  white-space:nowrap;
}
.mini-check input{
  width:auto!important;
  min-height:0!important;
  height:auto!important;
}
.masterdata-empty{font-size:11px;padding:5px 0}

/* Compact chart of accounts */
.chart-of-accounts-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.coa-group{
  margin:0!important;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  overflow:hidden;
  background:#fff;
}
.coa-group h3{
  margin:0;
  padding:7px 9px;
  font-size:11px;
  letter-spacing:.03em;
  background:var(--ui-soft);
  border-bottom:1px solid var(--ui-border);
}
.coa-group .tablewrap{overflow-x:visible}
.coa-table{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
  font-size:10px;
}
.coa-table th,
.coa-table td{
  padding:4px 5px!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  vertical-align:middle;
}
.coa-table th:nth-child(1), .coa-table td:nth-child(1){width:12%}
.coa-table th:nth-child(2), .coa-table td:nth-child(2){width:34%}
.coa-table th:nth-child(3), .coa-table td:nth-child(3){width:27%}
.coa-table th:nth-child(4), .coa-table td:nth-child(4){width:10%}
.coa-table th:nth-child(5), .coa-table td:nth-child(5){width:17%}
.coa-table .sphere-badge{
  font-size:8px;
  line-height:1.15;
  padding:2px 4px;
  white-space:normal;
}
.coa-table .status-badge{
  font-size:8px;
  padding:1px 4px;
  margin-left:3px;
}
.coa-table .small-btn{
  padding:3px 5px;
  font-size:9px;
}

@media(max-width:1100px){
  .chart-of-accounts-grid{grid-template-columns:1fr}
  .editable-masterdata{max-height:none;overflow:visible}
}
@media(max-width:650px){
  .masterdata-edit-row{align-items:stretch;flex-direction:column}
  .masterdata-edit-form,
  .cost-center-edit-form{grid-template-columns:1fr}
  .masterdata-edit-row > form{width:100%}
}


/* 1.3.5 – Kontenplan besser lesbar */
.coa-group h3{
  font-size:13px;
  padding:8px 10px;
}

.coa-table{
  font-size:12px;
}

.coa-table th{
  font-size:11px;
  font-weight:800;
}

.coa-table td{
  font-size:12px;
  line-height:1.3;
}

.coa-table th,
.coa-table td{
  padding:6px 7px!important;
}

.coa-table td:first-child strong{
  font-size:12.5px;
}

.coa-name-cell{
  font-size:12.5px!important;
  font-weight:600;
}

.coa-table .sphere-badge{
  font-size:10px;
  line-height:1.2;
  padding:3px 6px;
}

.coa-table .status-badge{
  font-size:9px;
  padding:2px 5px;
}

.coa-table .small-btn{
  font-size:10px;
  padding:4px 6px;
}


/* 2.4.12 – Anmeldeseite ruhiger und eleganter */
.auth-shell{
  min-height:calc(100vh - 120px);
  display:grid;
  grid-template-columns:minmax(320px,1.1fr) minmax(340px,0.9fr);
  gap:28px;
  align-items:stretch;
  padding:28px 0;
}

.auth-hero{
  border-radius:28px;
  padding:34px 32px;
  background:
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.14), transparent 18%),
    radial-gradient(circle at 88% 18%, rgba(125, 171, 255, .16), transparent 22%),
    radial-gradient(circle at 84% 80%, rgba(255,255,255,.07), transparent 18%),
    linear-gradient(150deg, #22303f 0%, #2b3e50 36%, #354e64 72%, #415b73 100%);
  color:#fff;
  box-shadow:0 24px 55px rgba(22,31,41,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.auth-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 35%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 12px, rgba(255,255,255,0) 12px 26px);
  pointer-events:none;
  z-index:-1;
}

.auth-hero::after{
  content:"";
  position:absolute;
  inset:auto -80px -90px auto;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.13) 0%, rgba(255,255,255,.03) 42%, rgba(255,255,255,0) 70%);
  filter:blur(1px);
  pointer-events:none;
}

.auth-hero-badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:16px;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#f4f8ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(20,28,38,.12);
}

.auth-hero h1{
  margin:0 0 10px;
  font-size:35px;
  line-height:1.06;
  color:#fff;
  letter-spacing:-.02em;
}

.auth-hero > p{
  margin:0 0 24px;
  max-width:560px;
  font-size:15px;
  line-height:1.65;
  color:rgba(245,248,255,.92);
}

.auth-feature-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.auth-feature-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:15px 15px 16px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(7px);
  min-height:118px;
}

.auth-feature-card strong{
  font-size:14px;
  color:#fff;
}

.auth-feature-card span{
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,.9);
}

.auth-card{
  align-self:center;
  border-radius:26px;
  border:1px solid rgba(47,72,90,.12);
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  box-shadow:0 22px 44px rgba(33, 46, 59, .12);
  padding:26px 26px 22px;
}

.auth-card-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  margin-bottom:18px;
}

.auth-logo-wrap{
  width:58px;
  height:58px;
  border-radius:16px;
  background:linear-gradient(180deg, #eff6f1 0%, #e4efe8 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8e7dd;
  overflow:hidden;
}

.auth-logo{
  max-width:42px;
  max-height:42px;
  object-fit:contain;
}

.auth-overline{
  margin-bottom:2px;
  color:#51697f;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.auth-card-head h2{
  margin:0 0 4px;
  font-size:24px;
  color:#173428;
}

.auth-card-head p{
  margin:0;
  color:#698070;
  font-size:13px;
  line-height:1.5;
}

.modern-login-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.modern-login-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.modern-login-form label > span{
  font-size:12px;
  font-weight:700;
  color:#2b4938;
}

.modern-login-form input[type="text"],
.modern-login-form input[type="password"]{
  height:44px;
  border-radius:14px;
  border:1px solid #d7e3db;
  background:#fff;
  padding:0 14px;
  font-size:14px;
  color:#173428;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

.modern-login-form input[type="text"]:focus,
.modern-login-form input[type="password"]:focus{
  outline:none;
  border-color:#1f7d4f;
  box-shadow:0 0 0 4px rgba(31,125,79,.12);
}

.auth-form-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:-1px;
}

.auth-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:8px!important;
  font-size:12px;
  color:#58705f;
}

.auth-check input{
  width:auto!important;
  min-height:auto!important;
}

.auth-submit-btn{
  width:100%;
  min-height:46px;
  margin-top:2px;
  border-radius:14px;
  font-size:15px;
  font-weight:800;
  box-shadow:0 10px 22px rgba(31,125,79,.16);
}

.auth-footer-note{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e7efea;
  text-align:center;
  color:#6f8478;
  font-size:12px;
}

@media(max-width:1050px){
  .auth-shell{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .auth-hero{
    order:2;
    padding:24px 22px;
  }
  .auth-card{
    order:1;
    max-width:620px;
    width:100%;
    margin:0 auto;
  }
}

@media(max-width:700px){
  .auth-shell{
    gap:18px;
    padding:16px 0 20px;
  }
  .auth-hero{
    padding:22px 18px;
    border-radius:20px;
  }
  .auth-hero h1{
    font-size:28px;
  }
  .auth-feature-grid{
    grid-template-columns:1fr;
  }
  .auth-card{
    padding:20px 18px 18px;
    border-radius:20px;
  }
  .auth-card-head{
    grid-template-columns:1fr;
    text-align:center;
  }
  .auth-logo-wrap{
    margin:0 auto;
  }
}


/* 1.3.7 – Login mit Benutzername */
.auth-footer-note small{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#819488;
}
.auth-footer-note small strong{
  color:#345a45;
}


/* 2.1.0 – historische Zuordnungsansicht */
.shoot-link-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.shoot-link-stats .card{
  margin:0;
  padding:14px 16px;
  display:grid;
  gap:2px;
}
.shoot-link-stats span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}
.shoot-link-stats strong{font-size:25px;color:#18382a}
.shoot-link-stats small{color:var(--muted)}
.shoot-link-stats .success{background:#eef7f2;border-color:#cfe2d6}
.shoot-link-stats .warning{background:#fff8e7;border-color:#ead9a6}
.shoot-link-info{padding:13px 16px}
.shoot-link-info p{margin:4px 0 0;color:var(--muted)}
.shoot-link-card{padding:0}
.shoot-link-card .section-title{padding:16px 18px 12px}
.shoot-link-list{display:flex;flex-direction:column}
.shoot-link-row{
  display:grid;
  grid-template-columns:minmax(180px,.9fr) 32px minmax(300px,1.4fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 16px;
  border-top:1px solid var(--line);
}
.shoot-link-row.linked{background:#f5fbf7}
.shoot-link-person,.shoot-link-target{display:grid;gap:2px;min-width:0}
.shoot-link-person strong,.shoot-link-target strong{font-size:13px}
.shoot-link-person small,.shoot-link-target small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.shoot-source-label{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7f72}
.shoot-link-arrow{text-align:center;font-size:18px;color:#7f9186}
.shoot-link-actions{display:grid;gap:6px}
.shoot-suggestion{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:7px 9px;
  border-radius:9px;
  background:#eef7f2;
  border:1px solid #cfe2d6;
}
.shoot-suggestion > div{display:grid;gap:1px}
.shoot-suggestion span{font-size:9px;font-weight:800;color:#397157;text-transform:uppercase}
.shoot-suggestion strong{font-size:12px}
.shoot-suggestion small{font-size:10px;color:var(--muted)}
.shoot-manual-link{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:6px;
}
.shoot-manual-link select{padding:7px 8px;font-size:12px}
.shoot-orphans{display:grid;gap:7px;margin-top:12px;font-size:12px}
@media(max-width:900px){
  .shoot-link-row{grid-template-columns:1fr}
  .shoot-link-arrow{text-align:left;transform:rotate(90deg);transform-origin:left center}
  .shoot-link-stats{grid-template-columns:1fr}
}


/* 2.1.2 – Startprogramm direkt bei der Anmeldung wählen */
.auth-start-title{
  margin-top:2px;
  font-size:12px;
  font-weight:800;
  color:#2b4938;
}

.auth-start-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.auth-start-button{
  min-height:76px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  text-align:left;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid #d5e2da;
  background:#fff;
  color:#1d3a2b;
  box-shadow:0 4px 12px rgba(25,55,40,.05);
}

.auth-start-button:hover{
  transform:translateY(-1px);
  border-color:#87b49b;
  background:#f7fbf8;
  color:#173428;
}

.auth-start-button.shoot{
  background:#f3f7f5;
}

.auth-start-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#198754;
  color:#fff;
  font-weight:900;
  font-size:15px;
}

.auth-start-button.shoot .auth-start-icon{
  background:#202b33;
}

.auth-start-button > span:last-child{
  display:grid;
  gap:3px;
}

.auth-start-button strong{
  font-size:13px;
}

.auth-start-button small{
  font-size:10.5px;
  line-height:1.3;
  font-weight:500;
  color:#708378;
}

@media(max-width:520px){
  .auth-start-grid{
    grid-template-columns:1fr;
  }
}


/* 2.1.3 – kompakte Seitenleiste für SVHMANAGER */
.sidebar{
  width:226px;
  padding:0;
  background:#202b33;
  border-right:1px solid rgba(255,255,255,.06);
}

.brand{
  min-height:82px;
  padding:16px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  justify-content:flex-start;
}

.brand-logo{
  max-width:178px;
  max-height:48px;
  object-fit:contain;
}

.main-nav{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 9px;
  overflow-y:auto;
  overflow-x:hidden;
}

.nav-group{
  display:grid;
  gap:2px;
}

.nav-group + .nav-group{
  margin-top:3px;
}

.nav-section{
  padding:11px 10px 5px;
  color:#8296a2;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.main-nav a{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  color:#c9d5dc;
  font-size:12.5px;
  font-weight:650;
  line-height:1.2;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}

.main-nav a:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
  transform:translateX(1px);
}

.main-nav a.active{
  position:relative;
  background:#198754;
  color:#fff;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.58);
}

.main-nav a.active::after{
  content:"";
  position:absolute;
  right:8px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.82);
}

.nav-icon{
  width:24px;
  min-width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:6px;
  color:#aebdc5;
  font-size:15px;
  font-weight:700;
  line-height:1;
}

.main-nav a:hover .nav-icon,
.main-nav a.active .nav-icon{
  color:#fff;
}

.main-nav a.active .nav-icon{
  background:rgba(255,255,255,.12);
}

.nav-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.nav-shoot .nav-icon{
  color:#5fc792;
}

.nav-shoot:hover .nav-icon{
  color:#8ee2b3;
}

.nav-group-system{
  margin-top:7px!important;
  padding-top:5px;
  border-top:1px solid rgba(255,255,255,.06);
}

.sidebar-bottom{
  margin-top:auto;
  padding:11px 9px 12px;
  border-top:1px solid rgba(255,255,255,.08);
}

.user-mini{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:7px 8px 9px;
}

.user-avatar{
  width:34px;
  height:34px;
  display:grid!important;
  place-items:center;
  border-radius:9px;
  background:#31414b;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800;
}

.user-mini-text{
  min-width:0;
  display:grid!important;
  gap:1px;
}

.user-mini-text strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:12px;
}

.user-mini-text > span{
  color:#91a4af!important;
  font-size:10.5px!important;
}

.logout-link{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  gap:9px;
  margin:1px 0 0;
  padding:6px 9px;
  border-radius:8px;
  color:#bdcbd2;
  font-size:11.5px;
}

.logout-link:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
}

.logout-link .nav-icon{
  width:22px;
  min-width:22px;
  height:22px;
  font-size:13px;
}

.app-version{
  margin:7px 8px 0;
  color:#718690;
  font-size:9.5px;
}

/* Inhalt an der schmaleren Seitenleiste ausrichten. */
main{
  margin-left:226px;
}

body.ui-sidebar-compact .sidebar{width:204px}
body.ui-sidebar-compact main{margin-left:204px}
body.ui-sidebar-wide .sidebar{width:250px}
body.ui-sidebar-wide main{margin-left:250px}

/* Slightly denser navigation option remains compatible with settings. */
body.ui-nav-compact .main-nav a{
  min-height:35px;
  padding-top:6px;
  padding-bottom:6px;
}

body.ui-nav-comfortable .main-nav a{
  min-height:44px;
  padding-top:10px;
  padding-bottom:10px;
}

@media(max-width:850px){
  .sidebar{
    width:210px;
  }
  main{
    margin-left:210px;
  }
}


/* 2.1.4 – Anmeldung zuerst Programm wählen, danach Zugangsdaten */
.auth-shell-choice .auth-card{
  max-width:560px;
}

.auth-card-head-centered{
  grid-template-columns:auto 1fr;
}

.auth-program-choice{
  display:grid;
  gap:14px;
}

.program-choice-card{
  width:100%;
  min-height:118px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 28px;
  align-items:center;
  gap:16px;
  padding:18px 18px;
  border:1px solid #d2e1d8;
  border-radius:18px;
  background:#fff;
  color:#18382a;
  text-align:left;
  box-shadow:0 7px 20px rgba(24,56,42,.07);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}

.program-choice-card:hover{
  transform:translateY(-2px);
  border-color:#83b99b;
  background:#f7fbf8;
  color:#18382a;
  box-shadow:0 12px 28px rgba(24,56,42,.12);
}

.program-choice-card.shoot{
  background:#f8faf9;
}

.program-choice-card.shoot:hover{
  background:#f2f6f4;
}

.program-choice-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:32px;
  font-weight:900;
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}

.manager-icon{
  background:#198754;
}

.shoot-icon{
  background:#202b33;
}

.program-choice-copy{
  display:grid;
  gap:5px;
  min-width:0;
}

.program-choice-copy strong{
  font-size:19px;
  letter-spacing:.01em;
}

.program-choice-copy small{
  color:#6b8074;
  font-size:12.5px;
  line-height:1.35;
}

.program-choice-arrow{
  font-size:31px;
  font-weight:300;
  color:#8aa096;
}

.selected-program{
  display:grid;
  grid-template-columns:44px 1fr auto;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #d9e6de;
  border-radius:13px;
  background:#f5faf7;
}

.selected-program-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#202b33;
  color:#fff;
  font-size:21px;
  font-weight:800;
}

.selected-program > span:nth-child(2){
  display:grid;
  gap:1px;
}

.selected-program small{
  color:#708378;
  font-size:9.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.selected-program strong{
  color:#18382a;
  font-size:13px;
}

.change-program-btn{
  background:transparent;
  color:#35634c;
  padding:6px 8px;
  font-size:11px;
  box-shadow:none;
}

.change-program-btn:hover{
  background:#e5f1e9;
  color:#18382a;
}

.auth-credentials-step[hidden],
.auth-program-choice[hidden]{
  display:none!important;
}

.auth-credentials-step{
  display:flex;
}

@media(max-width:600px){
  .program-choice-card{
    min-height:102px;
    grid-template-columns:58px minmax(0,1fr) 20px;
    gap:12px;
    padding:15px;
  }

  .program-choice-icon{
    width:58px;
    height:58px;
    border-radius:15px;
    font-size:27px;
  }

  .program-choice-copy strong{
    font-size:16px;
  }

  .program-choice-copy small{
    font-size:11px;
  }
}


/* 2.1.5 – Echte Logos in der Programmauswahl */
.program-choice-logo-wrap{
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
  border-radius:18px;
  overflow:hidden;
  padding:8px;
}

.manager-logo-wrap{
  background:#ffffff;
  border:1px solid #d8e5dd;
}

.shoot-logo-wrap{
  background:#ffffff;
  border:1px solid #d8e5dd;
}

.program-choice-logo{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

.manager-logo{
  max-width:72px;
  max-height:58px;
}

.shoot-logo{
  max-width:66px;
  max-height:66px;
}

.program-choice-card{
  grid-template-columns:82px minmax(0,1fr) 28px;
  min-height:126px;
}

.selected-program-logo-wrap{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:5px;
  border-radius:11px;
  background:#fff;
  border:1px solid #d8e5dd;
}

.selected-program-logo{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

@media(max-width:600px){
  .program-choice-logo-wrap{
    width:66px;
    height:66px;
    border-radius:15px;
    padding:6px;
  }

  .program-choice-card{
    grid-template-columns:66px minmax(0,1fr) 20px;
  }

  .manager-logo{
    max-width:58px;
    max-height:48px;
  }

  .shoot-logo{
    max-width:54px;
    max-height:54px;
  }
}


/* 2.1.6 – breites Programmlogo */
.program-choice-card.shoot{
  grid-template-columns:150px minmax(0,1fr) 28px;
}

.shoot-logo-wrap{
  width:150px;
  height:82px;
  padding:7px 9px;
}

.shoot-logo{
  width:100%;
  max-width:138px;
  height:auto;
  max-height:68px;
  object-fit:contain;
}

.selected-program-logo-wrap{
  overflow:hidden;
}

.selected-program-logo{
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:600px){
  .program-choice-card.shoot{
    grid-template-columns:110px minmax(0,1fr) 20px;
  }

  .shoot-logo-wrap{
    width:110px;
    height:66px;
  }

  .shoot-logo{
    max-width:100px;
    max-height:52px;
  }
}


/* 2.1.7 – neues SVHMANAGER-Logo auf der Anmeldeseite */
.program-choice-card.manager{
  grid-template-columns:150px minmax(0,1fr) 28px;
}

.manager-logo-wrap{
  width:150px;
  height:82px;
  padding:7px 9px;
}

.manager-logo{
  width:100%;
  max-width:138px;
  height:auto;
  max-height:68px;
  object-fit:contain;
}

@media(max-width:600px){
  .program-choice-card.manager{
    grid-template-columns:110px minmax(0,1fr) 20px;
  }

  .manager-logo-wrap{
    width:110px;
    height:66px;
  }

  .manager-logo{
    max-width:100px;
    max-height:52px;
  }
}


/* 2.2.0 – zentrale Rollen- und Rechteverwaltung */
.roles-layout{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(440px,1.4fr);
  gap:16px;
  align-items:start;
}
.role-list{display:grid;gap:7px}
.role-list-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.role-list-item:hover{background:#f6faf7;border-color:#bdd8c8}
.role-list-item > span:first-child{display:grid;gap:1px}
.role-list-item small{color:var(--muted);font-size:10px}
.permission-groups{display:grid;gap:14px;margin-top:14px}
.permission-group{
  margin:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
}
.permission-group legend{
  padding:0 7px;
  font-size:11px;
  font-weight:800;
  color:#315943;
}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}
.permission-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:6px 7px;
  border-radius:7px;
  font-size:12px;
  font-weight:500!important;
}
.permission-check:hover{background:#f5faf7}
.permission-check input{width:auto!important;margin-top:2px}
.compact-permissions .permission-group{padding:9px}
.compact-permissions .permission-check{padding:4px 5px;font-size:11px}
.role-editor-head{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  align-items:end;
  gap:18px;
}
.role-active-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:7px!important;
  min-height:40px;
}
.role-active-check input{width:auto!important}
.role-delete-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.account-list{display:grid;gap:8px}
.account-row-edit{
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(220px,1.5fr) auto auto;
  gap:8px;
  align-items:center;
}
.account-main{display:grid;gap:1px}
.account-main span{font-size:10px;color:var(--muted)}
.user-role-form{display:flex;gap:5px;align-items:center}
.user-role-form select{min-width:140px;padding:7px}
.user-role-form button{padding:7px 9px}
@media(max-width:1000px){
  .roles-layout{grid-template-columns:1fr}
  .permission-grid{grid-template-columns:1fr}
  .account-row-edit{grid-template-columns:1fr}
  .user-role-form{width:100%}
}


/* 2.2.1 – persönliche PDF-Einstellungen */
.personal-pdf-intro{margin-bottom:16px}
.personal-pdf-intro p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.personal-pdf-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.personal-pdf-card{min-width:0}
.personal-pdf-enable{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:10px!important;
  padding:11px 12px;
  margin:4px 0 14px;
  border:1px solid #bdd8c8;
  background:#f2f8f4;
  border-radius:10px;
}
.personal-pdf-enable input{width:auto!important;margin-top:2px}
.personal-pdf-enable span{display:grid;gap:2px}
.personal-pdf-enable small{font-weight:400;color:var(--muted)}
.personal-pdf-options{
  transition:opacity .15s ease;
}
.personal-pdf-options.personal-disabled{
  opacity:.42;
}
.personal-design-card{max-width:1120px}
.personal-design-options{transition:opacity .15s ease}
.personal-design-options.personal-disabled{opacity:.42}
.personal-design-standard{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:10px;
  background:var(--ui-soft-2,#f6f8f7);
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.pdf-global-preview{
  margin-top:12px;
  padding:8px 10px;
  border-radius:8px;
  background:#f6f8f7;
  color:var(--muted);
  font-size:11px;
}
@media(max-width:1100px){
  .personal-pdf-grid{grid-template-columns:1fr}
}

/* 2.2.4: Programmwechsel im SVHMANAGER gut sichtbar */
.sidebar .nav-program-switch{display:flex;align-items:center;gap:10px;margin:5px 8px 8px;padding:12px 10px;min-height:66px;border:1px solid rgba(89,211,139,.45);border-radius:11px;background:linear-gradient(110deg,#146c42,#198754);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.13);text-decoration:none}
.sidebar .nav-program-switch:hover{background:linear-gradient(110deg,#17764a,#20a061);color:#fff;transform:translateY(-1px)}
.sidebar .nav-program-switch .nav-icon{display:grid;place-items:center;background:rgba(255,255,255,.17);color:#fff;border-radius:8px;min-width:32px;height:32px;font-size:20px}
.sidebar .nav-program-switch .nav-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;line-height:1.1}
.sidebar .nav-program-switch .nav-label strong{font-size:13px;letter-spacing:.02em;color:#fff}
.sidebar .nav-program-switch .nav-label small{font-size:10px;color:rgba(255,255,255,.87);font-weight:500;white-space:normal}
.sidebar .nav-program-switch .nav-switch-arrow{color:#fff;font-size:17px;font-weight:800}


/* 2.2.5 – Buchhaltung: breite Stammdaten, getrennte Aktionen */
.accounting-subpanel[data-bookings-panel="new"]{
  max-width:1560px;
  width:100%;
}
.accounting-subpanel[data-bookings-panel="new"] .accounting-layout{
  grid-template-columns:minmax(0,1.15fr) minmax(510px,1fr);
  gap:20px;
}
.accounting-subpanel[data-bookings-panel="new"] .editable-masterdata{
  min-width:0;
  overflow-x:hidden;
}
.accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:8px;
}
.accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px 52px auto;
  gap:7px;
  min-width:0;
  width:100%;
  align-items:center;
}
.accounting-subpanel[data-bookings-panel="new"] .cost-center-edit-form{
  grid-template-columns:minmax(0,1fr) 52px auto;
}
.accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-row > form:last-child{
  display:flex;
  flex:none;
  min-width:max-content;
  margin:0;
}
.accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-row button{
  box-sizing:border-box;
  min-height:32px;
  white-space:nowrap;
  padding:6px 9px;
  font-size:11px;
  position:static;
  width:auto;
}
.accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-form input[name="name"]{
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
@media(max-width:1350px){
  .accounting-subpanel[data-bookings-panel="new"] .accounting-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .accounting-subpanel[data-bookings-panel="new"] .editable-masterdata{
    max-height:none;
  }
}
@media(max-width:700px){
  .accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-row{
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-form,
  .accounting-subpanel[data-bookings-panel="new"] .cost-center-edit-form{
    grid-template-columns:minmax(0,1fr) auto;
    width:100%;
  }
  .accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-form input[name="name"]{
    grid-column:1/-1;
  }
  .accounting-subpanel[data-bookings-panel="new"] .masterdata-edit-row > form:last-child{
    justify-content:flex-end;
    width:100%;
  }
  .accounting-subpanel[data-bookings-panel="new"] .masterdata-add-form{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
}

/* 2.2.6: accounting templates, search, receipt preview */
.accounting-filters{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.accounting-filters input{min-width:115px;max-width:220px;min-height:36px}
.booking-template-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px;padding:12px;border:1px solid #cfe2d6;border-radius:10px;background:#f1f8f4}
.booking-template-picker label{flex:1;min-width:220px;display:grid;gap:5px}
.booking-template-picker select{width:100%}
.template-save-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:12px;border-top:1px solid #d5e4da}
.template-save-row label{flex:1;min-width:180px;display:grid;gap:4px}
.booking-template-list{padding:12px}
.booking-template-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px;border-bottom:1px solid #e2eae5}
.receipt-drop-active{outline:3px dashed #198754;background:#e4f3ea;border-radius:9px}
.receipt-preview-dialog{width:min(1100px,94vw);height:min(850px,90vh);max-width:none;max-height:none;padding:12px;border:1px solid #cfe2d6;border-radius:14px}
.receipt-preview-dialog::backdrop{background:#15221c99}
.receipt-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px}
.receipt-preview-dialog iframe{width:100%;height:calc(100% - 100px);border:1px solid #ddd;background:white}

/* 2.2.8: Remove an unsaved receipt without posting the booking. */
.receipt-pending-actions:not([hidden]){display:flex;align-items:center;gap:10px;flex-wrap:wrap;grid-column:1/-1;padding:8px 10px;margin-top:-6px;border:1px solid #cfe2d6;border-radius:9px;background:#f2f8f4}
.receipt-pending-actions[hidden]{display:none!important}
.receipt-pending-name{flex:1;min-width:140px;overflow-wrap:anywhere;font-size:12px;color:#18382a}
.receipt-pending-remove{flex-shrink:0;white-space:normal;min-height:34px;padding:6px 10px;border:1px solid #bd7d78!important;color:#9b2d25!important;background:#fff!important}
.receipt-pending-remove:hover{background:#fff0ee!important}

/* 2.2.9 – Belegaktionen, fehlende Belege und Formularprüfungen */
.receipt-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:220px}
.receipt-actions form{margin:0;display:inline-flex}
.receipt-file-label{font-size:11px;color:#17633d;background:#eaf6ef;border-radius:6px;padding:5px 7px;white-space:nowrap}
.receipt-missing-badge{display:inline-flex;color:#914b11;background:#fff2df;border:1px solid #f0d3a4;border-radius:6px;font-size:11px;font-weight:700;padding:5px 7px;white-space:nowrap}
.receipt-duplicate-confirm{display:flex!important;align-items:center!important;gap:8px!important;font-size:12px;color:#805713}
.receipt-duplicate-confirm input{width:auto!important;flex:none}
.accounting-form-errors{padding:10px 13px;margin:10px 0;border:1px solid #dc9c97;border-radius:8px;background:#fff1f0;color:#86251d;font-size:12px;line-height:1.6}
.accounting-form-errors[hidden]{display:none}

/* Version 2.2.11: Buchungstabelle besser lesbar, ohne schmale Spalten zu quetschen. */
.accounting-tab-panel[data-accounting-panel="bookings"] .tablewrap{
  max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table{
  min-width:1550px; width:100%; table-layout:fixed; font-size:14px; line-height:1.45;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th{
  font-size:14px; font-weight:800; line-height:1.35; padding:12px 9px;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
  font-size:14px; line-height:1.45; padding:11px 9px; overflow-wrap:break-word;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td small{
  font-size:12px; line-height:1.4;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table .status-badge,
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table .accounting-kind,
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table .sphere-badge{font-size:12px;}
@media(max-width:1100px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table{min-width:0;width:100%;}
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{font-size:14px;padding:11px 8px!important;}
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td::before{font-size:13px;}
}

/* 2.3.4 Bankabgleich */
.bank-action-form{display:grid;gap:7px;margin:9px 0;padding:9px;border:1px solid #d6e4da;border-radius:9px;min-width:250px}.bank-action-form label{display:grid;gap:4px}.bank-action-form select,.bank-action-form input{width:100%;max-width:410px;min-width:0}.bank-create-panel{margin:9px 0;border:1px solid #b5d6c1;border-radius:9px;padding:9px}.bank-create-panel summary{cursor:pointer;font-weight:750;color:#198754}.bank-action-form button{justify-self:start}

/* 2.3.5 Bankabgleich: Statusregister und Suchleiste */
.bank-review-toolbar{display:grid;gap:13px;margin:15px 0}.bank-status-tabs{display:flex;gap:7px;flex-wrap:wrap}.bank-status-tabs a{display:inline-flex;gap:7px;align-items:center;padding:9px 13px;border:1px solid #cfe2d6;border-radius:9px;text-decoration:none;color:#18382a;background:#f2f8f4;font-weight:700}.bank-status-tabs a.active{background:#198754;color:#fff;border-color:#198754}.bank-status-tabs span{font-size:12px;opacity:.8}.bank-search-form{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bank-search-form label{font-weight:700}.bank-search-form input{flex:1;min-width:210px;max-width:500px}.bank-search-form a{color:#198754;font-weight:700}@media(max-width:700px){.bank-search-form input{flex-basis:100%;max-width:none}}

/* 2.4.0 Zahlungsverkehr (Entwurfsmodus) */
.payment-type-links{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.payment-type-links a{padding:10px 13px;border:1px solid #cfe2d6;border-radius:9px;background:white;color:#18382a;text-decoration:none;font-weight:700}.payment-type-links a.active{background:#198754;color:white}.payment-type-links a:hover{border-color:#198754}

/* 2.4.2: checkboxes for selectable invoices are visibly clickable */
.invoice-pick{display:inline-flex!important;align-items:center;gap:8px;padding:8px 10px;border:1px solid #bfd7c8;border-radius:7px;background:#edf8f1;cursor:pointer;white-space:nowrap;min-height:37px}
.invoice-pick input{width:18px!important;height:18px!important;accent-color:#198754;cursor:pointer}
.invoice-pick-disabled{opacity:.65;background:#f2f3f3;border-color:#e0e2e1;cursor:not-allowed}
.invoice-pick-disabled input{cursor:not-allowed}
.invoice-issue{color:#9a4c16;font-size:12px}.invoice-ready{color:#14663d;font-weight:700}

/* 2.4.3: Überweisungsempfänger-Suche */
.recipient-suggestions{display:grid;gap:2px;max-height:240px;overflow:auto;position:relative;z-index:4;background:white;border:1px solid #bed6c8;border-radius:9px;padding:4px;box-shadow:0 5px 16px #00000014}
.recipient-suggestions[hidden]{display:none!important}
.recipient-suggestions button{display:block;width:100%;padding:9px 11px;text-align:left;background:white;color:#18382a;border:0;border-radius:6px;cursor:pointer;font-size:13px}
.recipient-suggestions button:hover,.recipient-suggestions button:focus{background:#e4f3ea}

/* 2.4.4: kompakter Zahlungsverkehr und zuverlässige Empfängersuche */
.payment-page-header{margin-bottom:6px!important;padding-bottom:4px!important}
.payment-draft-warning{padding:8px 12px;border:1px solid #e8d9ad;background:#fffaf0;border-radius:8px;font-size:12px;line-height:1.35;margin:4px 0 9px}
.payment-type-links{gap:5px!important;margin:9px 0!important}
.payment-type-links a{padding:7px 10px!important;font-size:12px;border-radius:7px!important}
.payment-create-card{padding:13px 16px!important}
.payment-create-card h2,.payment-drafts-card h2{font-size:17px!important;margin:0 0 9px!important}
.payment-create-card .form-grid{gap:9px 14px!important}
.payment-create-card .form-grid label{min-width:0;position:relative}
.payment-create-card .form-grid input,.payment-create-card .form-grid select{min-height:36px;max-width:100%}
.payment-create-card .form-actions{padding-top:9px!important;margin-top:9px!important}
.payment-form-hint{margin:0 0 9px!important;font-size:11px}
.payment-drafts-card{padding:12px 14px!important}
.payment-drafts-card td,.payment-drafts-card th{padding:7px 8px!important;font-size:12px}
.payment-drafts-card td form{display:inline-flex;gap:4px;align-items:center;margin:2px}
.payment-drafts-card td form input{width:90px;min-width:0}
.payment-drafts-card td form button{padding:6px 8px;font-size:11px}
.payment-create-card .recipient-suggestions{position:absolute!important;top:calc(100% - 22px);left:0;right:0;z-index:1000!important;max-height:260px;overflow-y:auto;box-shadow:0 12px 27px #0002}
.payment-create-card .recipient-suggestions[hidden]{display:none!important}
.recipient-lookup-status{display:block;color:#597565;font-size:11px;min-height:0;margin-top:2px}
@media(max-width:800px){.payment-create-card .form-grid{grid-template-columns:1fr!important}.payment-create-card .span2{grid-column:auto!important}}

/* 2.4.5: Zahlungsverkehr neu verdichtet, nicht nur kleinere Buttons. */
.payment-page-header{margin-bottom:4px!important;min-height:0!important}
.payment-page-header h1{font-size:21px!important;margin:0!important}
.payment-draft-warning{padding:5px 10px!important;margin:0 0 7px!important;font-size:11px!important}
.payment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.payment-toolbar .payment-type-links{display:flex;gap:3px!important;flex-wrap:wrap;margin:0!important;flex:1 1 auto}
.payment-toolbar .payment-type-links a{padding:6px 9px!important;font-size:11px!important;line-height:1.1;white-space:nowrap}
.payment-toolbar-actions{display:flex;flex-wrap:wrap;gap:5px}
.payment-toolbar-actions .btn{padding:6px 9px!important;min-height:0!important;font-size:11px!important;line-height:1.1}
.payment-create-card{padding:10px 13px!important;margin-bottom:8px!important}
.payment-create-card h2{font-size:15px!important;margin:0 0 7px!important;line-height:1.2}
.payment-create-card .form{display:block!important}
.payment-create-card .form-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px 10px!important}
.payment-create-card .form-grid>.span2{grid-column:span 2!important}
.payment-create-card .form-grid>label{font-size:11px!important;line-height:1.2!important;gap:3px!important;margin:0!important;min-width:0!important}
.payment-create-card .form-grid input:not([type=checkbox]),.payment-create-card .form-grid select{height:32px!important;min-height:32px!important;padding:4px 7px!important;font-size:12px!important;border-radius:6px!important;width:100%!important;box-sizing:border-box!important}
.payment-create-card .form-grid input[type=checkbox]{width:auto!important;min-height:0!important}
.payment-create-card .form-grid small{font-size:10px!important;line-height:1.15}
.payment-create-card .form-actions{border-top:0!important;padding:6px 0 0!important;margin:0!important;min-height:0!important}
.payment-create-card .form-actions button{padding:7px 12px!important;font-size:11px!important;min-height:32px!important}
.payment-drafts-card{padding:8px 10px!important;margin-top:0!important;overflow:hidden}
.payment-drafts-card>summary{font-size:13px;font-weight:750;cursor:pointer;padding:3px 1px 7px;list-style-position:inside}
.payment-drafts-card .payment-draft-count{display:inline-block;margin-left:9px;color:var(--muted);font-size:11px;font-weight:500}
.payment-drafts-card .table-wrap{max-width:100%;overflow-x:auto}
.payment-drafts-card td,.payment-drafts-card th{padding:6px 7px!important;font-size:11px!important;white-space:nowrap}
.payment-drafts-card td:nth-child(7){white-space:normal;min-width:130px}
.payment-create-card .recipient-suggestions{top:calc(100% - 1px)!important}
@media(max-width:1200px){.payment-create-card .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:850px){.payment-create-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.payment-toolbar{align-items:flex-start}}
@media(max-width:550px){.payment-create-card .form-grid{grid-template-columns:1fr!important}.payment-create-card .form-grid>.span2{grid-column:auto!important}.payment-toolbar-actions{width:100%}}


/* 2.4.6: readable half-width form with tabs on the left */
.payment-page-header h1{font-size:27px!important;line-height:1.25!important}
.payment-draft-warning{font-size:13px!important;line-height:1.5!important;padding:10px 14px!important;margin:9px 0 17px!important}
.payment-workspace{display:grid;grid-template-columns:215px minmax(0,690px);gap:22px;align-items:start;max-width:960px;margin:0 0 22px}
.payment-workspace .payment-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:17px;margin:0;min-width:0;position:static}
.payment-workspace .payment-type-links{display:flex;flex-direction:column;align-items:stretch;gap:8px!important;margin:0!important;flex:none}
.payment-workspace .payment-type-links a{display:flex;align-items:center;min-height:45px;padding:10px 13px!important;font-size:14px!important;line-height:1.35!important;white-space:normal;border-radius:9px!important}
.payment-workspace .payment-toolbar-actions{display:flex;flex-direction:column;gap:9px;align-items:stretch}
.payment-workspace .payment-toolbar-actions .btn{display:flex;align-items:center;justify-content:flex-start;min-height:40px!important;padding:9px 12px!important;font-size:13px!important;line-height:1.35!important}
.payment-workspace .payment-create-card{width:100%;max-width:690px;min-width:0;box-sizing:border-box;padding:22px 24px!important;margin:0!important}
.payment-workspace .payment-create-card h2{font-size:21px!important;line-height:1.35!important;margin:0 0 19px!important}
.payment-workspace .payment-create-card .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 17px!important}
.payment-workspace .payment-create-card .form-grid>.span2{grid-column:1/-1!important}
.payment-workspace .payment-create-card .form-grid>label{font-size:14px!important;line-height:1.45!important;gap:6px!important;font-weight:650}
.payment-workspace .payment-create-card .form-grid input:not([type=checkbox]),.payment-workspace .payment-create-card .form-grid select{height:43px!important;min-height:43px!important;padding:9px 11px!important;font-size:15px!important;border-radius:8px!important}
.payment-workspace .payment-create-card .form-grid input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important}
.payment-workspace .payment-create-card .form-actions{padding:15px 0 0!important;margin:8px 0 0!important}
.payment-workspace .payment-create-card .form-actions button{min-height:44px!important;padding:10px 19px!important;font-size:14px!important}
.payment-workspace .payment-create-card .recipient-lookup-status{font-size:12px!important}
.payment-drafts-card{max-width:100%;padding:16px 18px!important}
.payment-drafts-card>summary{font-size:15px!important;line-height:1.5;padding:7px!important}
.payment-drafts-card td,.payment-drafts-card th{font-size:13px!important;padding:10px 9px!important}
.payment-drafts-card td form button{font-size:12px!important}
@media(max-width:980px){.payment-workspace{grid-template-columns:180px minmax(0,1fr);max-width:none;gap:16px}.payment-workspace .payment-create-card{max-width:none}}
@media(max-width:700px){.payment-workspace{display:flex;flex-direction:column;gap:15px}.payment-workspace .payment-toolbar{width:100%}.payment-workspace .payment-type-links{flex-direction:row;flex-wrap:wrap;gap:7px!important}.payment-workspace .payment-type-links a{min-height:42px}.payment-workspace .payment-toolbar-actions{flex-direction:row;flex-wrap:wrap}.payment-workspace .payment-create-card{padding:18px!important}}
@media(max-width:490px){.payment-workspace .payment-create-card .form-grid{grid-template-columns:1fr!important}.payment-workspace .payment-create-card .form-grid>.span2{grid-column:auto!important}}

/* 2.4.7: real multi-position payment batches */
.batch-type-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.batch-type-nav a{display:inline-flex;padding:12px 18px;background:#fff;border:1px solid #cfe2d6;border-radius:10px;color:#18382a;font-size:15px;font-weight:700;text-decoration:none}.batch-type-nav a.active{background:#198754;color:#fff;border-color:#198754}.batch-type-nav a:hover{border-color:#198754}

/* 2.4.8 – gleiche linke Zahlungsverkehr-Navigation auf allen Unterseiten */
.payment-workspace .payment-side-nav{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
.payment-workspace .payment-side-nav a{display:flex;align-items:center;min-height:45px;padding:10px 13px;border-radius:9px;border:1px solid var(--line,#d6e3da);background:#fff;color:var(--text,#18382a);font-size:14px;font-weight:650;text-decoration:none;line-height:1.35}
.payment-workspace .payment-side-nav a:hover{background:#edf5ef;border-color:#abcdb8}
.payment-workspace .payment-side-nav a.active{background:#198754;border-color:#198754;color:#fff}
.payment-batch-content,.payment-address-content{min-width:0;max-width:690px;display:grid;gap:16px}
.payment-batch-create,.payment-address-create{width:100%;max-width:690px!important}
.payment-batch-create .form,.payment-address-create .form{display:grid!important;gap:14px}
.payment-batch-create label,.payment-address-create label{font-size:14px!important;font-weight:650;line-height:1.4}
.payment-batch-create input,.payment-batch-create select,.payment-address-create input{height:43px!important;min-height:43px!important;font-size:15px!important;padding:9px 11px!important;width:100%;box-sizing:border-box}
.payment-batch-create button,.payment-address-create button{min-height:43px!important;font-size:14px!important;padding:9px 16px!important;justify-self:start}
.payment-address-create .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.payment-batch-list,.payment-address-list{margin-top:0!important;padding:17px!important;min-width:0}
.payment-batch-list h2,.payment-address-list h2{font-size:19px;margin:0 0 12px}
.payment-batch-list .table-wrap,.payment-address-list .table-wrap{overflow-x:auto}
.payment-batch-list td,.payment-batch-list th,.payment-address-list td,.payment-address-list th{font-size:13px;padding:9px 8px}
@media(max-width:700px){.payment-workspace .payment-side-nav{flex-direction:row;flex-wrap:wrap;width:100%}.payment-workspace .payment-side-nav a{min-height:42px}.payment-batch-content,.payment-address-content{max-width:none;width:100%}}
@media(max-width:490px){.payment-address-create .form-grid{grid-template-columns:1fr!important}}


/* 2.4.9: kontrastreiche, besser lesbare weiße Seitenleisten-Schrift */
.sidebar .main-nav a,
.sidebar .main-nav a .nav-label,
.sidebar .main-nav a .nav-label strong,
.sidebar .main-nav a .nav-label small {
  color:#ffffff!important;
  font-size:15px;
  font-weight:650;
  line-height:1.4;
}
.sidebar .main-nav a {min-height:46px;padding:10px 11px;gap:11px;}
.sidebar .main-nav a .nav-icon {color:#ffffff!important;font-size:18px;}
.sidebar .main-nav .nav-section {color:#ffffff!important;font-size:11px;font-weight:750;letter-spacing:.065em;line-height:1.4;}
.sidebar .main-nav a:hover {background:rgba(255,255,255,.14);color:#ffffff!important;}
.sidebar .main-nav a.active {background:#198754;color:#ffffff!important;}
.sidebar .main-nav a.nav-program-switch .nav-label strong {font-size:15px!important;color:#ffffff!important;}
.sidebar .main-nav a.nav-program-switch .nav-label small {font-size:12px!important;color:#ffffff!important;}
.sidebar .sidebar-bottom .user-mini,
.sidebar .sidebar-bottom .user-mini strong,
.sidebar .sidebar-bottom .user-mini span,
.sidebar .sidebar-bottom .logout-link,
.sidebar .sidebar-bottom .logout-link span {color:#ffffff!important;}
.sidebar .sidebar-bottom .logout-link {font-size:14px;font-weight:650;}


/* 2.4.10: breite, ein- und ausklappbare SVHMANAGER-Navigation */
body{--manager-sidebar-expanded:306px;--manager-sidebar-collapsed:76px;}
body .sidebar,body.ui-sidebar-compact .sidebar,body.ui-sidebar-wide .sidebar{width:var(--manager-sidebar-expanded)!important;box-sizing:border-box;transition:width .2s ease;}
body main,body.ui-sidebar-compact main,body.ui-sidebar-wide main{margin-left:var(--manager-sidebar-expanded)!important;transition:margin-left .2s ease;}
.sidebar .brand{position:relative;min-height:78px;padding-right:55px;}
.sidebar .brand-logo{max-width:215px;width:100%;}
.sidebar-toggle{position:absolute;z-index:30;right:11px;top:20px;width:35px;height:35px;min-width:35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:9px;background:rgba(255,255,255,.12);color:white;font-size:17px;cursor:pointer;}
.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:#198754;outline:2px solid rgba(255,255,255,.25);}
.sidebar .main-nav a{min-width:0;box-sizing:border-box;}
.sidebar .main-nav .nav-label{min-width:0;overflow-wrap:anywhere;}
body.sidebar-is-collapsed .sidebar{width:var(--manager-sidebar-collapsed)!important;}
body.sidebar-is-collapsed main{margin-left:var(--manager-sidebar-collapsed)!important;}
body.sidebar-is-collapsed .sidebar .brand{padding:12px 0;min-height:72px;justify-content:center;}
body.sidebar-is-collapsed .sidebar .brand-logo{display:none;}
body.sidebar-is-collapsed .sidebar-toggle{top:18px;right:20px;}
body.sidebar-is-collapsed .main-nav{padding:9px 8px;}
body.sidebar-is-collapsed .main-nav .nav-section,body.sidebar-is-collapsed .main-nav .nav-label,body.sidebar-is-collapsed .main-nav .nav-switch-arrow{display:none!important;}
body.sidebar-is-collapsed .main-nav .nav-group{margin:0 0 8px;padding:0 0 6px;border-bottom:1px solid rgba(255,255,255,.1);}
body.sidebar-is-collapsed .main-nav a{justify-content:center;padding:9px 4px!important;gap:0;min-height:48px;}
body.sidebar-is-collapsed .main-nav a .nav-icon{margin:0;flex:none;font-size:22px!important;}
body.sidebar-is-collapsed .sidebar-bottom{padding:10px 6px;}
body.sidebar-is-collapsed .sidebar-bottom .user-mini{justify-content:center;}
body.sidebar-is-collapsed .sidebar-bottom .user-mini-text,body.sidebar-is-collapsed .sidebar-bottom .app-version,body.sidebar-is-collapsed .sidebar-bottom .logout-link>span:not(.nav-icon){display:none!important;}
body.sidebar-is-collapsed .sidebar-bottom .logout-link{justify-content:center;padding:9px 3px;}
@media(max-width:850px){body .sidebar,body.ui-sidebar-compact .sidebar,body.ui-sidebar-wide .sidebar{width:var(--manager-sidebar-expanded)!important;}body main,body.ui-sidebar-compact main,body.ui-sidebar-wide main{margin-left:var(--manager-sidebar-expanded)!important;}body.sidebar-is-collapsed .sidebar{width:var(--manager-sidebar-collapsed)!important;}body.sidebar-is-collapsed main{margin-left:var(--manager-sidebar-collapsed)!important;}}
@media(max-width:600px){body{--manager-sidebar-expanded:min(280px,80vw);--manager-sidebar-collapsed:65px;}body.sidebar-is-collapsed .sidebar-toggle{right:15px;}body.sidebar-is-collapsed .sidebar .nav-icon{font-size:19px!important;}body main{padding:16px!important;min-width:0;}}

/* 2.4.11: Namen in der Mitgliederliste gezielt hervorheben. */
#membersTable tbody td[data-col="name"] .member-link,
#membersTable tbody td[data-col="firstname"] .member-link,
#membersTable tbody td[data-col="lastname"] .member-link {
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.4;
  color: #153e2b !important;
  letter-spacing: .01em;
  text-decoration: none;
}
#membersTable tbody td[data-col="name"] .member-link:hover,
#membersTable tbody td[data-col="firstname"] .member-link:hover,
#membersTable tbody td[data-col="lastname"] .member-link:hover {
  color: #126c40 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#membersTable thead th[data-col="name"],
#membersTable thead th[data-col="firstname"],
#membersTable thead th[data-col="lastname"] {
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* 2.4.14 – Mitgliedermaske wirklich kompakt: responsive Breite nach verfügbarem Platz.
   Vorher schaltete die 1150px-Regel bei einer 306px-Seitenleiste schon auf
   zwei Spalten, obwohl drei Spalten im eigentlichen Formular Platz haben. */
.member-edit-form{width:100%;max-width:1320px;margin:0 auto;display:block}
.member-edit-form .edit-member-identity{padding:8px 12px;margin-bottom:8px}
.member-edit-form .edit-tabs{padding:4px;gap:4px;margin-bottom:8px;top:6px}
.member-edit-form .edit-tab{min-height:38px!important;padding:7px 12px!important;font-size:14px!important}
.member-edit-form .tab-card{padding:12px 16px!important}
.member-edit-form .tab-card .section-title{margin-bottom:9px!important}
.member-edit-form .tab-card .section-title h2{margin-bottom:2px}
.member-edit-form .form-grid.large-fields{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px 12px!important}
.member-edit-form .form-grid.large-fields>label{min-width:0;display:grid;gap:3px;font-size:14px;font-weight:650;margin:0}
.member-edit-form .form-grid.large-fields input:not([type=checkbox]),
.member-edit-form .form-grid.large-fields select{min-width:0;width:100%;box-sizing:border-box;min-height:38px!important;height:38px;padding:6px 9px;font-size:14px}
.member-edit-form .form-grid.large-fields>.span2{grid-column:span 2!important}
.member-edit-form .form-grid.large-fields>.field-hint{grid-column:1/-1;margin:-5px 0 0}
.member-edit-form .form-grid.large-fields label .field-hint{font-size:12px;line-height:1.25}
.member-edit-form .form-help{margin:8px 0 0;padding:8px 11px;font-size:12px}
.member-edit-form .billing-master-switch{margin-bottom:9px}
.member-edit-form .sticky-form-actions{padding:8px 4px;gap:10px}
.member-edit-form .notes-label{margin-top:9px}
.member-edit-form .notes-label textarea{min-height:84px}
/* 900px is the actual usable content width, not total desktop width. */
@media(max-width:1100px){
  .member-edit-form .form-grid.large-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .member-edit-form .form-grid.large-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:660px){
  .member-edit-form .tab-card{padding:12px!important}
  .member-edit-form .form-grid.large-fields{grid-template-columns:minmax(0,1fr)!important}
  .member-edit-form .form-grid.large-fields>.span2{grid-column:auto!important}
  .member-edit-form .edit-tabs{position:static}
}

/* 2.4.15: Beide tatsächlichen Mitglieder-Eingabemasken statt nur form.html.
   Auto-Fit orientiert sich an der verfügbaren Breite innerhalb der breiten Sidebar. */
.member-edit-form,
.member-profile-head ~ .profile-tab-content,
.profile-tab-content .tab-edit-form{min-width:0;box-sizing:border-box}
.member-edit-form .form-grid.large-fields,
.profile-tab-content .form-grid.profile-edit-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  gap:10px 14px!important;
  padding:12px!important;
  align-items:start;
}
.member-edit-form .form-grid.large-fields{padding:0!important}
.member-edit-form .form-grid.large-fields>label,
.profile-tab-content .profile-edit-grid>label{
  display:flex!important;flex-direction:column;gap:4px!important;
  min-width:0;margin:0!important;font-size:14px!important;line-height:1.3;
}
.member-edit-form .form-grid.large-fields input:not([type=checkbox]),
.member-edit-form .form-grid.large-fields select,
.profile-tab-content .profile-edit-grid input:not([type=checkbox]),
.profile-tab-content .profile-edit-grid select{
  width:100%;min-width:0;box-sizing:border-box;
  min-height:40px!important;height:40px!important;
  padding:7px 10px!important;font-size:14px!important;
}
.member-edit-form .form-grid.large-fields>.span2,
.profile-tab-content .profile-edit-grid>.span2{grid-column:span 2!important}
.member-edit-form .form-grid.large-fields>.field-hint,
.profile-tab-content .profile-edit-grid>.field-hint{
  grid-column:1/-1;margin:0!important;font-size:12px;line-height:1.3;
}
.profile-tab-content .tab-edit-form .content-card-head{
  padding:10px 13px!important;min-height:46px;gap:10px;
}
.profile-tab-content .tab-edit-form .content-card-head h2{font-size:16px!important}
.profile-tabs{gap:4px!important;padding:5px!important;margin-bottom:10px!important}
.profile-tabs .profile-tab{padding:8px 11px!important;min-height:38px!important;font-size:13px!important}
.profile-kpis{margin-bottom:10px!important}
.member-edit-form .tab-card{padding:12px!important}
.member-edit-form .edit-tabs{margin-bottom:9px!important}
.member-edit-form .edit-tab{padding:8px 11px!important;min-height:39px!important}
.profile-tab-content .profile-grid{gap:12px!important}
@media(max-width:720px){
 .member-edit-form .form-grid.large-fields,
 .profile-tab-content .form-grid.profile-edit-grid{grid-template-columns:minmax(0,1fr)!important}
 .member-edit-form .form-grid.large-fields>.span2,
 .profile-tab-content .profile-edit-grid>.span2{grid-column:1/-1!important}
 .profile-tabs{overflow-x:auto;flex-wrap:nowrap}
}


/* 2.4.16 – Buchhaltungsähnliche Navigation links für beide Mitgliedermasken */
.member-edit-form .member-edit-layout,
.member-detail-layout{
  display:grid!important;
  grid-template-columns:215px minmax(0,1fr)!important;
  align-items:start;
  gap:18px;
  width:100%;
  min-width:0;
}
.member-edit-layout .edit-tabs,
.member-detail-layout .profile-tabs{
  grid-column:1;
  grid-row:1;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  overflow:visible!important;
  position:sticky!important;
  top:18px!important;
  padding:10px!important;
  margin:0!important;
  border:1px solid #cfe2d6;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(20,44,31,.06);
  z-index:2;
}
.member-edit-layout .edit-tab,
.member-detail-layout .profile-tab{
  display:block!important;
  width:100%!important;
  min-height:43px!important;
  padding:11px 12px!important;
  margin:0!important;
  text-align:left!important;
  white-space:normal!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:650!important;
  border-radius:8px!important;
}
.member-edit-layout .edit-tab.active,
.member-detail-layout .profile-tab.active{
  background:#198754!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #136338;
}
.member-edit-layout .edit-panel,
.member-detail-layout .profile-tab-content{
  grid-column:2;
  grid-row:1;
  min-width:0;
  margin:0!important;
}
.member-edit-layout .edit-panel.active,
.member-detail-layout .profile-tab-content.active{display:block!important}
.member-edit-layout .tab-card{padding:18px!important}
.member-edit-layout .large-fields,
.member-detail-layout .profile-edit-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 16px!important;
}
@media(min-width:1450px){
  .member-edit-layout .large-fields,
  .member-detail-layout .profile-edit-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:1050px){
  .member-edit-form .member-edit-layout,
  .member-detail-layout{grid-template-columns:175px minmax(0,1fr)!important;gap:12px}
  .member-edit-layout .large-fields,
  .member-detail-layout .profile-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:730px){
  .member-edit-form .member-edit-layout,
  .member-detail-layout{display:block!important}
  .member-edit-layout .edit-tabs,
  .member-detail-layout .profile-tabs{
    position:static!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    margin-bottom:12px!important;
  }
  .member-edit-layout .edit-tab,
  .member-detail-layout .profile-tab{width:auto!important;min-width:max-content!important;white-space:nowrap!important}
  .member-edit-layout .large-fields,
  .member-detail-layout .profile-edit-grid{grid-template-columns:minmax(0,1fr)!important}
  .member-edit-layout .large-fields>.span2,
  .member-detail-layout .profile-edit-grid>.span2{grid-column:1/-1!important}
}


/* 2.4.17 – Mitgliederprofil als klar gegliederte Eingabebereiche statt Riesenraster */
.member-detail-layout #tab-overview .tab-edit-form{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.member-detail-layout #tab-overview .content-card-head{background:#fff;border:1px solid #d5e4da;border-radius:13px;padding:13px 17px!important;margin-bottom:14px;box-shadow:0 3px 12px rgba(25,52,70,.035)}
.member-overview-sections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;max-width:1200px}
.member-field-section{min-width:0;border:1px solid #d5e4da;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(25,52,70,.045)}
.member-field-section:nth-child(2){grid-column:2;grid-row:1 / span 2}
.member-field-heading{display:flex;gap:10px;align-items:center;padding:13px 16px;background:#f5f9f7;border-bottom:1px solid #e1ebe5}
.member-field-step{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;background:#e2f0e8;color:#14683a;border-radius:9px;font-size:12px;font-weight:800}
.member-field-heading h3{font-size:15px!important;line-height:1.2;margin:0;color:#18382a}
.member-field-heading p{font-size:11px;margin:3px 0 0;color:#718479}
.member-detail-layout #tab-overview .member-section-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;padding:17px!important;background:#fff;align-items:start}
.member-detail-layout #tab-overview .member-section-fields>.span2{grid-column:1 / -1!important}
.member-detail-layout #tab-overview .member-section-fields>.field-hint{grid-column:1/-1;font-size:12px;line-height:1.45;margin:0!important;color:#63786b}
.member-detail-layout #tab-overview .member-section-fields>label{font-size:13px!important;font-weight:650;gap:5px!important}
.member-detail-layout #tab-overview .member-section-fields input:not([type=checkbox]),
.member-detail-layout #tab-overview .member-section-fields select{min-height:43px!important;height:43px!important;font-size:14px!important;padding:8px 11px!important;border-radius:8px!important}
@media(max-width:1250px){.member-overview-sections{grid-template-columns:minmax(0,1fr)}.member-field-section:nth-child(2){grid-column:auto;grid-row:auto}}
@media(max-width:640px){.member-detail-layout #tab-overview .member-section-fields{grid-template-columns:minmax(0,1fr)!important}.member-detail-layout #tab-overview .member-section-fields>.span2{grid-column:1!important}}


/* 2.4.18 – Modernere Mitgliederliste */
.member-toolbar{
  padding:16px 18px;
  border:1px solid #d7e2dc;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
  box-shadow:0 8px 20px rgba(20,43,31,.04);
}
.member-filters{flex-wrap:wrap;gap:10px 10px;align-items:center}
.member-filters .member-live-search{max-width:430px;min-width:280px}
.member-filters input,
.member-filters select{min-height:44px;border-radius:10px;border-color:#d3ddd7;background:#fff}
.member-filters button,
.member-filters .btn{min-height:44px;padding:0 16px}
.member-table-tools{flex-wrap:wrap;justify-content:flex-end;gap:10px}
.member-table-tools .btn{min-height:42px;border-radius:10px}
.member-list-card{padding:0;border-radius:16px;overflow:hidden;border-color:#dce6e0}
.member-tablewrap{border-top:1px solid #ecf1ee}
#membersTable.member-directory-table{min-width:1120px;border-spacing:0}
#membersTable.member-directory-table thead th{
  background:#f3f7f5;
  color:#5b6c63;
  font-size:11.5px;
  letter-spacing:.075em;
  padding:14px 14px;
  border-bottom:1px solid #e2eae5;
}
#membersTable.member-directory-table tbody td{
  padding:14px 14px;
  border-bottom:1px solid #edf2ef;
  vertical-align:middle;
  background:#fff;
}
#membersTable.member-directory-table tbody tr.member-row:hover td{background:#f7fbf8}
#membersTable.member-directory-table tbody tr.member-row:nth-child(even) td{background:#fcfefd}
#membersTable.member-directory-table tbody tr.member-row:nth-child(even):hover td{background:#f7fbf8}
#membersTable.member-directory-table td[data-col="name"]{min-width:300px}
.member-number{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#f4f7f6;
  border:1px solid #dde6e1;
  color:#476055;
  font-weight:700;
  font-size:12px;
}
.member-name-link{
  display:flex;
  flex-direction:column;
  gap:3px;
  text-decoration:none;
}
.member-name-main{
  font-size:18px;
  line-height:1.2;
  font-weight:850;
  color:#163b2c;
  letter-spacing:-.01em;
}
.member-name-link:hover .member-name-main{color:#198754;text-decoration:underline;text-underline-offset:3px}
.member-name-meta{
  font-size:12px;
  color:#6a7d73;
  font-weight:650;
}
.member-split-link{font-size:14px!important;font-weight:700!important;color:#214937!important}
.member-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.member-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  background:#198754;
  color:#fff;
  border:1px solid #198754;
}
.member-action-btn:hover{background:#146c43;border-color:#146c43;color:#fff}
.member-action-btn.secondary{background:#edf4ef;color:#1f5138;border-color:#d3e3d8}
.member-action-btn.secondary:hover{background:#e2efe6;color:#153c2a;border-color:#c4d9cb}
.member-action-btn.ghost{background:#fff;color:#4d5f57;border-color:#d9e4de}
.member-action-btn.ghost:hover{background:#f5f8f6;color:#29483a;border-color:#ccdad1}
#membersTable.member-directory-table .category-badge,
#membersTable.member-directory-table .member-status-badge,
#membersTable.member-directory-table .payment-status-badge{
  padding:6px 11px;
  font-size:12px;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
#membersTable.member-directory-table td[data-col="city"],
#membersTable.member-directory-table td[data-col="type"],
#membersTable.member-directory-table td[data-col="groups"]{color:#334b40}
#membersTable.member-directory-table td[data-col="actions"]{min-width:250px}
@media(max-width:900px){
  .member-toolbar{padding:14px}
  .member-table-tools{justify-content:stretch}
  .member-table-tools .btn{flex:1 1 150px}
}

/* 2.4.19: Echte zwei Dichten; muss nach allen vorherigen Tabellenregeln stehen. */
#membersTable.member-directory-table:not(.compact) tbody td{
  padding:16px 14px!important;
  height:76px;
}
#membersTable.member-directory-table:not(.compact) thead th{
  padding:15px 14px!important;
}
#membersTable.member-directory-table.compact tbody td{
  padding:5px 10px!important;
  height:43px!important;
  font-size:13px!important;
}
#membersTable.member-directory-table.compact thead th{
  padding:8px 10px!important;
  height:36px!important;
  font-size:11px!important;
}
#membersTable.member-directory-table.compact .member-name-main{
  font-size:14px!important;
  line-height:1.2!important;
}
#membersTable.member-directory-table.compact .member-name-meta{display:none!important}
#membersTable.member-directory-table.compact .member-number{padding:2px 5px!important;font-size:11px!important}
#membersTable.member-directory-table.compact .member-actions{gap:4px!important;flex-wrap:nowrap!important}
#membersTable.member-directory-table.compact .member-action-btn{
  min-height:25px!important;padding:2px 7px!important;font-size:11px!important
}
#membersTable.member-directory-table.compact .category-badge,
#membersTable.member-directory-table.compact .member-status-badge,
#membersTable.member-directory-table.compact .payment-status-badge{
  padding:2px 6px!important;font-size:11px!important;
}
#membersTable.member-directory-table.compact td[data-col="name"]{min-width:210px!important}
#membersTable.member-directory-table.compact td[data-col="actions"]{min-width:195px!important}
#membersTable.member-directory-table.compact .member-split-link{font-size:13px!important}
.member-density-active{background:#d9ede2!important;border-color:#a6ccb6!important;color:#164b31!important}

/* 2.4.20: Eine Aktion statt redundanter Öffnen/Bearbeiten/PDF-Schaltflächen */
#membersTable.member-directory-table td[data-col="actions"]{min-width:80px!important;width:85px!important}
#membersTable.member-directory-table.compact td[data-col="actions"]{min-width:72px!important;width:72px!important}
.member-more-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:34px;border:1px solid #cfe2d6;border-radius:10px;background:#eef7f2;color:#174d32;font-size:23px;font-weight:800;line-height:1;cursor:pointer;padding:0 8px}
.member-more-btn:hover,.member-more-btn[aria-expanded="true"]{background:#198754;color:white;border-color:#198754}
.member-more-btn:focus-visible{outline:3px solid #75b58f;outline-offset:2px}
#membersTable.member-directory-table.compact .member-more-btn{min-width:32px;min-height:27px;font-size:20px}


/* 2.4.21 – Mitgliederaktionen vereinfacht + Foto-Upload */
.member-photo-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  margin-right:12px;
}
.profile-photo-large{width:108px;height:108px;border-radius:18px;font-size:30px}
.member-photo-form{display:flex;flex-direction:column;gap:8px;max-width:180px}
.member-photo-upload{
  display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#556a60
}
.member-photo-upload input[type=file]{font-size:12px;max-width:180px}
.member-photo-actions{display:flex;flex-direction:column;gap:8px;width:100%}
.member-photo-actions .btn{justify-content:center}
.member-photo-delete-form{display:flex;width:100%;max-width:180px}
.member-photo-delete-form .btn{justify-content:center;width:100%}
.member-name-link-rich{display:flex;align-items:center;gap:12px}
.member-name-text{display:flex;flex-direction:column;gap:3px}
.member-list-avatar{
  width:42px;height:42px;border-radius:12px;object-fit:cover;
  border:1px solid #d9e5de;flex:0 0 42px;background:#eef4f1;
}
.member-list-avatar-placeholder{
  display:inline-flex;align-items:center;justify-content:center;font-weight:800;
  color:#365648;font-size:13px;
}
@media(max-width:900px){
  .member-photo-panel{margin-right:0}
  .member-name-link-rich{gap:9px}
  .member-list-avatar{width:36px;height:36px;border-radius:10px;flex-basis:36px}
}

/* 2.4.22: Profilfoto als eigenständige, konfigurierbare Spalte */
#membersTable.member-directory-table th[data-col="photo"],
#membersTable.member-directory-table td[data-col="photo"]{width:76px;min-width:76px;text-align:center!important;padding-left:10px!important;padding-right:10px!important}
#membersTable.member-directory-table td[data-col="photo"] a{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;text-decoration:none}
#membersTable.member-directory-table td[data-col="photo"] .member-list-avatar{display:inline-flex;width:44px;height:44px;flex:0 0 44px;border-radius:12px}
#membersTable.member-directory-table.compact td[data-col="photo"] .member-list-avatar{width:30px;height:30px;flex-basis:30px;border-radius:8px}
#membersTable.member-directory-table.compact th[data-col="photo"],
#membersTable.member-directory-table.compact td[data-col="photo"]{width:52px;min-width:52px;padding-left:6px!important;padding-right:6px!important}

/* 2.4.23: Mehrere Vereinsfunktionen als eigenständige Tabellenspalte. */
#membersTable td[data-col="offices"]{min-width:150px;max-width:340px;white-space:normal}
.member-office-badge{display:inline-block;padding:4px 9px;margin:2px 4px 2px 0;border:1px solid #c9dfd0;border-radius:999px;background:#eaf5ed;color:#20583b;font-size:12px;font-weight:750}
#membersTable.compact .member-office-badge{font-size:11px;padding:2px 6px}

/* 2.4.24: Zentrale Zuordnung der Vereinsfunktionen */
.office-assignment-section{margin-top:24px;padding-top:22px;border-top:1px solid #dce8e0}
.office-assignment-section h3{margin:0 0 9px;color:#173f2b}
.office-assignment-form{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(170px,1fr) auto;align-items:end;gap:12px;margin:16px 0 24px}
.office-assignment-form label{display:grid;gap:6px;font-weight:650}
.office-assignment-form button{min-height:42px}
.office-assigned-list{display:grid;gap:7px}
.office-assigned-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f7fbf8;border:1px solid #e1ede5;border-radius:9px}
.office-assigned-list a{color:#176c46;font-weight:750;text-decoration:none}
@media(max-width:1000px){.office-assignment-form{grid-template-columns:1fr}}

/* 2.4.25 – Gruppe/Mitglied-Zuordnungen in Einstellungen */
.group-assignment-section{margin:22px 0;padding:18px;background:#f8fbf9;border:1px solid #d6e7dc;border-radius:12px}
.group-assignment-item{display:flex!important;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.group-assignment-item form{margin-left:auto}.group-assignment-item button{font-size:12px;padding:6px 10px}


/* 2.4.26: Bezahlstatus als Farbpunkte statt Text-Badges */
#membersTable .member-payment-dot{
  display:inline-block!important;width:15px!important;height:15px!important;
  padding:0!important;border-radius:50%!important;vertical-align:middle;
  border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.14)!important;
}
#membersTable .member-payment-dot.paid{background:#198754!important}
#membersTable .member-payment-dot.unpaid{background:#dc3545!important}
#membersTable .member-payment-dot.partial{background:#ee961b!important}
#membersTable td[data-col="paymentstatus"]{text-align:center!important}
#membersTable th[data-col="paymentstatus"]{text-align:center!important}

/* 2.4.27 – sichtbarer Tooltip für Bezahlstatus, unabhängig von nativen title-Hinweisen */
#membersTable .member-payment-dot{cursor:help;outline-offset:4px}
#membersTable .member-payment-dot:focus-visible{outline:2px solid #198754}
.member-payment-tooltip{position:fixed;z-index:99999;max-width:min(300px,calc(100vw - 20px));padding:9px 12px;border-radius:9px;background:#202b33;color:white;font-size:13px;line-height:1.4;font-weight:650;box-shadow:0 8px 22px rgba(0,0,0,.22);pointer-events:none;white-space:nowrap}
.member-payment-tooltip[hidden]{display:none!important}


/* 2.4.28 – Vereinsart in Mitgliederliste eindeutig und kontrastreich unterscheiden. */
#membersTable.member-directory-table td[data-col="category"] .category-badge{
 display:inline-flex!important;align-items:center!important;gap:8px!important;
 min-width:112px;justify-content:center;
 padding:7px 12px!important;border-radius:9px!important;
 border:1px solid transparent!important;font-weight:850!important;font-size:13px!important;
 box-shadow:none!important;letter-spacing:.01em;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge:before{
 content:"";width:8px;height:8px;flex:0 0 8px;border-radius:2px;background:currentColor;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge.active{
 background:#d8f2e1!important;color:#126336!important;border-color:#89cc9f!important;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge.passive{
 background:#e3e9f2!important;color:#344d75!important;border-color:#9eafca!important;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge.youth{
 background:#fff0ca!important;color:#80510a!important;border-color:#e5bf68!important;
}
#membersTable.member-directory-table.compact td[data-col="category"] .category-badge{
 padding:3px 7px!important;min-width:93px;font-size:11px!important;gap:5px!important;
}

/* 2.4.29 – Datums-Sortierung serverseitig, über alle Mitgliederseiten */
#membersTable .member-date-sort{color:inherit;text-decoration:none;font-weight:inherit;display:inline-flex;gap:4px;align-items:center}
#membersTable .member-date-sort:hover,#membersTable .member-date-sort.is-active{color:#176c46;text-decoration:underline;text-underline-offset:3px}

/* 2.4.30: frühere Vereinsarten klar von aktuellen Kategorien abgrenzen. */
#membersTable.member-directory-table td[data-col="category"] .category-badge.historical{background:#f0f1f2!important;color:#65706a!important;border-color:#d6dcda!important;min-width:142px;}

/* 2.4.31: Schlichte, dezente Vereinsart ohne grelle Flächen oder Statusvermischung. */
#membersTable.member-directory-table td[data-col="category"] .category-badge,
#membersTable.member-directory-table.compact td[data-col="category"] .category-badge{
 min-width:0!important;padding:4px 9px!important;border-radius:6px!important;
 background:#f5f7f6!important;border:1px solid #e1e7e3!important;color:#34473c!important;
 font-size:12px!important;font-weight:700!important;letter-spacing:0!important;gap:7px!important;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge:before{
 content:""!important;width:5px!important;height:14px!important;flex:0 0 5px!important;
 border-radius:3px!important;background:#30845b!important;
}
#membersTable.member-directory-table td[data-col="category"] .category-badge.passive:before{background:#7a8791!important}
#membersTable.member-directory-table td[data-col="category"] .category-badge.youth:before{background:#bc9554!important}
#membersTable .member-date-sort{white-space:nowrap;cursor:pointer}


/* 2.4.33 – moderne Mitglieder-Sortierung + zentrale SEPA-Gläubiger-ID */
.member-toolbar{align-items:flex-start!important;flex-wrap:wrap!important}
.member-filters{flex:1 1 100%;padding-bottom:12px;border-bottom:1px solid #e8eeea}
.member-sort-panel{display:flex;align-items:flex-end;gap:10px;padding:4px 0;flex:1 1 440px}
.member-sort-field{display:grid;gap:4px;min-width:220px;color:#50635a;font-weight:750}
.member-sort-field>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#718078}
.member-sort-field select{min-height:42px;border-radius:11px;background:#fff;border:1px solid #d2ddd6}
.member-sort-direction{display:flex;background:#f2f6f3;border:1px solid #d9e3dd;border-radius:11px;padding:3px;gap:3px}
.member-sort-direction button{min-height:34px;padding:5px 10px;border-radius:8px;background:transparent;color:#52655b;font-size:12px}
.member-sort-direction button:hover{background:#e7eee9;color:#183b2b}
.member-sort-direction button.active{background:#fff;color:#176c46;box-shadow:0 1px 5px rgba(20,43,31,.1)}
.member-table-tools{margin-left:auto;padding-top:20px}
.readonly-central-setting{background:#f2f6f3!important;color:#355145!important;font-weight:750}
.central-sepa-setting{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;margin:12px 0;padding:11px 13px;border:1px solid #d6e4dc;border-radius:10px;background:#f5faf7}
.central-sepa-setting span{font-size:12px;color:#60756a;font-weight:750}.central-sepa-setting strong{color:#183e2c}.central-sepa-setting small{grid-column:2;color:#718078}
.sepa-setting-warning{padding:10px 12px;border-radius:9px;background:#fff4df;border:1px solid #efd49b;color:#7c5414;font-weight:700}
@media(max-width:900px){.member-sort-panel{flex:1 1 100%;flex-wrap:wrap}.member-sort-field{flex:1;min-width:190px}.member-table-tools{padding-top:0;margin-left:0}.member-sort-direction span{display:none}}


/* 2.4.34 – editierbare Zahlungsverkehr-Entwürfe */
.payment-draft-actions{display:flex;flex-direction:column;gap:7px;min-width:170px}
.payment-draft-actions form{display:flex;gap:6px;align-items:center;margin:0}
.payment-draft-actions form input[name="confirmation"]{min-width:88px;max-width:110px;padding:7px 8px}
.payment-draft-actions .btn,.payment-draft-actions button{min-height:34px;padding:7px 10px;font-size:12px}
.payment-edit-card{max-width:980px}
.payment-edit-actions{gap:10px}
.payment-batch-details{padding:15px 18px}
.payment-batch-details h2{font-size:17px;margin:0 0 10px}
.payment-batch-title-form{display:flex;gap:10px;align-items:end}
.payment-batch-title-form label{flex:1;display:grid;gap:6px;font-weight:650;color:#334155}
.payment-batch-title-form button{min-height:42px}
@media(max-width:700px){.payment-batch-title-form{flex-direction:column;align-items:stretch}.payment-draft-actions{min-width:150px}}


/* 2.4.35 – platzsparende Aktionsmenüs in Buchhaltung und Zahlungsverkehr */
.receipt-compact-cell{display:flex;align-items:center;gap:7px;white-space:nowrap;min-width:92px}
.self-receipt-label{background:#f3efe3!important;color:#715d21!important}
.compact-row-menu{position:relative;display:inline-block;margin:0}
.compact-row-menu>summary{
  list-style:none;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:31px;padding:0;border:1px solid #d4dfd9;border-radius:9px;
  background:#f5f8f6;color:#28483a;font-size:21px;font-weight:850;line-height:1;
  cursor:pointer;user-select:none
}
.compact-row-menu>summary::-webkit-details-marker{display:none}
.compact-row-menu>summary:hover,.compact-row-menu[open]>summary{background:#e8f3ec;border-color:#b9d4c4;color:#17643d}
.compact-row-menu-panel{
  position:absolute;z-index:2400;right:0;top:calc(100% + 5px);min-width:190px;
  padding:6px;background:#fff;border:1px solid #d9e3dd;border-radius:11px;
  box-shadow:0 14px 34px rgba(20,43,31,.16);display:flex;flex-direction:column;gap:2px
}
.compact-row-menu-panel form{margin:0;display:block}
.compact-menu-action{
  width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;
  border:0;background:transparent!important;color:#29483a!important;text-decoration:none;
  padding:8px 10px!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important;
  min-height:34px;box-shadow:none!important
}
.compact-menu-action:hover{background:#edf6f0!important;color:#135f38!important}
.danger-menu-action{color:#a12626!important}
.danger-menu-action:hover{background:#fdeeee!important;color:#861c1c!important}
.payment-draft-menu-panel{min-width:230px}
.payment-review-menu-form{padding:4px 6px 6px;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef}
.payment-review-menu-form label{display:grid;gap:4px;font-size:11px;font-weight:750;color:#5c6f65}
.payment-review-menu-form input[name="confirmation"]{width:100%;min-width:0;max-width:none;padding:7px 8px;font-size:12px}
.accounting-tab-panel[data-accounting-panel="bookings"] td[data-label="Beleg"]{min-width:110px}
.payment-drafts-card td:last-child{width:58px;min-width:58px;text-align:center}
.payment-drafts-card td:last-child .compact-row-menu{margin:auto}
@media(max-width:1180px){.compact-row-menu-panel{right:auto;left:0}}


/* 2.4.36 – Zahlungsverkehr: Entwürfe je Bereich + Zähler */
.payment-side-nav a.has-drafts{font-weight:800!important}
.payment-side-nav a .payment-nav-count{font-weight:900;margin-left:4px;color:inherit}
.payment-side-nav a.has-drafts:not(.active){background:rgba(25,135,84,.06)}
.payment-side-nav a.active .payment-nav-count{color:inherit}
.payment-drafts-card td strong,.payment-batch-list td strong{white-space:nowrap;color:#244638}


/* 2.4.37 – Zahlungsverkehr: Adressbuch, Sortierung und rechtes Aktionsmenü */
.payment-sortable-th{cursor:pointer;user-select:none;white-space:nowrap}
.payment-sortable-th::after{content:" ↕";opacity:.35;font-size:11px}
.payment-sortable-th.sort-asc::after{content:" ↑";opacity:1}
.payment-sortable-th.sort-desc::after{content:" ↓";opacity:1}
.payment-draft-menu-panel{z-index:4000!important}
.payment-drafts-card td:last-child,.payment-batch-list td:last-child,.payment-address-list td:last-child{width:58px;min-width:58px;text-align:center}

/* 2.4.38 – Zahlungsverkehr: funktionierende Sortierung + Aktionsmenü außerhalb der Scrolltabelle */
.payment-sortable-th{cursor:pointer!important;user-select:none;white-space:nowrap;transition:background .15s,color .15s}
.payment-sortable-th:hover{background:#edf4f0!important;color:#214d37!important}
.payment-sortable-th.sort-asc,.payment-sortable-th.sort-desc{background:#e5f1e9!important;color:#174d32!important;font-weight:850!important}
.payment-draft-menu-panel{position:fixed!important;right:18px!important;left:auto!important;z-index:5000!important;max-width:min(320px,calc(100vw - 36px));}
.payment-drafts-card .table-wrap,.payment-batch-list .table-wrap,.payment-address-list .table-wrap{overflow-x:auto;overflow-y:visible}


/* 2.4.39 – Zahlungsverkehr: Navigation links, Vorbereitung und Entwürfe rechts untereinander */
.payment-workspace{
  grid-template-columns:215px minmax(0,1fr)!important;
  max-width:none!important;
  align-items:start!important;
}
.payment-main-content{
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.payment-main-content>.payment-create-card{
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
}
.payment-main-content>.payment-drafts-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.payment-main-content>.payment-drafts-card .table-wrap{
  width:100%;
}
.payment-batch-content{
  max-width:none!important;
  width:100%;
}
.payment-batch-content>.payment-batch-create{
  max-width:760px!important;
}
.payment-batch-content>.payment-batch-list{
  width:100%;
  max-width:none!important;
}
@media(max-width:980px){
  .payment-workspace{grid-template-columns:180px minmax(0,1fr)!important;}
}
@media(max-width:700px){
  .payment-workspace{display:flex!important;flex-direction:column!important;}
  .payment-main-content{width:100%;}
  .payment-main-content>.payment-create-card{max-width:none!important;}
}


/* 2.4.40 – Zahlungsverkehr: Tabs links, Vorbereitung mittig, Entwürfe rechts */
.payment-workspace{
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:18px!important;
  max-width:none!important;
  width:100%!important;
}
.payment-main-content,
.payment-batch-content,
.payment-address-content{
  display:grid!important;
  grid-template-columns:minmax(500px,640px) minmax(520px,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
.payment-main-content>.payment-create-card,
.payment-batch-content>.payment-batch-create,
.payment-address-content>.payment-address-create{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.payment-main-content>.payment-drafts-card,
.payment-batch-content>.payment-batch-list,
.payment-address-content>.payment-address-list{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-width:0!important;
}
.payment-main-content>.payment-drafts-card summary{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.payment-main-content>.payment-drafts-card .table-wrap,
.payment-batch-content>.payment-batch-list .table-wrap,
.payment-address-content>.payment-address-list .table-wrap{
  max-width:100%;
  overflow-x:auto;
}
@media(max-width:1450px){
  .payment-main-content,
  .payment-batch-content,
  .payment-address-content{
    grid-template-columns:minmax(440px,560px) minmax(460px,1fr)!important;
  }
}
@media(max-width:1180px){
  .payment-main-content,
  .payment-batch-content,
  .payment-address-content{
    display:flex!important;
    flex-direction:column!important;
  }
  .payment-main-content>.payment-create-card,
  .payment-main-content>.payment-drafts-card,
  .payment-batch-content>.payment-batch-create,
  .payment-batch-content>.payment-batch-list,
  .payment-address-content>.payment-address-create,
  .payment-address-content>.payment-address-list{
    width:100%!important;
    max-width:none!important;
  }
}
@media(max-width:700px){
  .payment-workspace{display:flex!important;flex-direction:column!important;}
}

/* 2.4.41 – Zahlungsverkehr: Aktionsmenü wie in der Mitgliederliste */
.payment-more-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;min-height:34px;padding:0 8px;
  border:1px solid #cfe2d6;border-radius:10px;
  background:#eef7f2;color:#174d32;
  font-size:23px;font-weight:800;line-height:1;cursor:pointer;
}
.payment-more-btn:hover,.payment-more-btn[aria-expanded="true"]{background:#198754;color:#fff;border-color:#198754}
.payment-more-btn:focus-visible{outline:3px solid #75b58f;outline-offset:2px}
.payment-context-menu{width:250px!important}
.payment-context-menu form{margin:0;padding:0}
.payment-context-menu form button{
  display:block;width:100%;text-align:left;justify-content:flex-start;
  padding:9px 10px;border-radius:7px;background:transparent!important;
  color:#253c31!important;font-weight:650;font-size:13px;box-shadow:none!important;
}
.payment-context-menu form button:hover{background:#e4f3ea!important;color:#176c46!important}
.payment-context-menu .payment-context-review{padding:7px 6px;border-top:1px solid #e4ece7;border-bottom:1px solid #e4ece7}
.payment-context-menu .payment-context-review label{display:grid;gap:5px;font-size:11px;font-weight:750;color:#5e7769;padding:0 4px 6px}
.payment-context-menu .payment-context-review input{padding:7px 8px;font-size:12px}
.payment-context-menu .danger-menu-action{color:#9b2424!important}
.payment-context-menu .danger-menu-action:hover{background:#fdeeee!important;color:#7f1d1d!important}
.payment-action-row.context-active td{background:#eef7f2!important}
.payment-drafts-card td:last-child,.payment-batch-list td:last-child,.payment-address-list td:last-child{width:62px;min-width:62px;text-align:center}


/* 2.4.44 – Zentrale Übersicht Offene Posten */
.open-items-header{align-items:center}
.open-items-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.open-kpi{background:#fff;border:1px solid #dce6e0;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px rgba(20,43,31,.035)}
.open-kpi span{display:block;color:#6b7d73;font-size:12px;font-weight:750;margin-bottom:6px}
.open-kpi strong{font-size:25px;color:#173c2c}
.open-kpi.danger{border-color:#edc5c5;background:#fffafa}.open-kpi.danger strong{color:#a22d2d}
.open-items-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.7fr);gap:18px;align-items:start}
.open-items-card{padding:0;overflow:hidden}.open-items-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e6ede9}
.open-items-card-head h2{margin:0 0 3px;font-size:18px}.open-items-card-head p{margin:0;color:#718178;font-size:12px}
.open-items-table{min-width:900px}.open-items-table td,.open-items-table th{padding:11px 12px}
.open-item-overdue td{background:#fffafa!important}
.open-state{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.open-state.overdue{background:#fbe5e5;color:#9a2929;border:1px solid #efcaca}.open-state.pending{background:#edf4ef;color:#2b6045;border:1px solid #d7e5dc}
.open-draft-list{display:grid}.open-draft-row{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #edf2ef;text-decoration:none;color:#213c30}.open-draft-row:last-child{border-bottom:0}.open-draft-row:hover{background:#f6faf7}
.open-draft-row strong,.open-draft-row small{display:block}.open-draft-row small{color:#718178;margin-top:3px}.open-draft-date{white-space:nowrap;font-weight:750;color:#4c6659;font-size:12px}
@media(max-width:1200px){.open-items-grid{grid-template-columns:1fr}.open-items-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.open-items-kpis{grid-template-columns:1fr}.open-items-card-head{align-items:flex-start;flex-direction:column}}


/* 2.4.46 – automatisch verknüpfte Rechnung als Buchhaltungsbeleg */
.invoice-receipt-label{background:#eef4ff!important;color:#315f9a!important;border:1px solid #ccdaef!important}


/* 2.4.50 – Artikel & Leistungen bearbeiten */
.article-master-row{grid-template-columns:minmax(220px,1fr) 90px 110px auto!important;align-items:center}
.article-master-row>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.article-master-row>div:first-child small{color:#6b7d73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.article-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.article-row-actions form{margin:0}
.article-edit-modal{width:min(680px,96vw)}
@media(max-width:760px){.article-master-row{grid-template-columns:1fr!important}.article-row-actions{justify-content:flex-start;flex-wrap:wrap}}


/* 2.4.52 – Rechnungsposition: Artikelname + Beschreibung */
.preview-item-name{display:block;font-weight:800;color:#202020;line-height:1.25}
.preview-item-description{display:block;margin-top:3px;font-size:.88em;font-style:italic;color:#66706b;line-height:1.3}


/* 2.4.53 – Grundstruktur Kalender und Spenden */
.future-module-grid{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);gap:18px;align-items:start}
.future-module-grid>.card{min-width:0}
.future-list{display:grid;gap:8px;margin-top:14px}
.future-list-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e1eae5;border-radius:11px;background:#fbfdfc}
.future-list-row small{display:block;margin-top:3px;color:#6b7e73}
.future-date{display:grid;place-items:center;border-radius:10px;background:#edf5f0;padding:7px;color:#23513b}
.future-date strong{font-size:16px}.future-date span{font-size:11px}
.future-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.future-legal-note{margin:15px 0 0;padding:12px;border:1px solid #eadfbd;border-radius:10px;background:#fffaf0;line-height:1.55}
@media(max-width:1100px){.future-module-grid{grid-template-columns:1fr}.future-stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.future-stats{grid-template-columns:1fr}.future-list-row{grid-template-columns:58px 1fr}.future-list-row form{grid-column:2}}


/* 2.4.54 – E-Mail-Grundstruktur */
.email-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(560px,1.3fr);gap:18px;align-items:start}
.mail-outbox-list{display:grid;gap:12px;margin-top:16px}.mail-outbox-item{border:1px solid #dfe8e3;border-radius:12px;padding:13px;background:#fff}.mail-outbox-item.ready{border-color:#bcdac8;background:#fbfefc}.mail-outbox-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mail-outbox-main>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.mail-outbox-main small{grid-column:2;color:#6f8177;margin-top:3px}.mail-status-dot{width:9px;height:9px;border-radius:50%;background:#9aa8a0}.mail-outbox-item.ready .mail-status-dot{background:#198754}.mail-attachment{margin:10px 0;padding:8px 10px;border-radius:8px;background:#f3f7f5;font-size:12px}.mail-attachment a{margin-left:8px}.mail-outbox-item details{margin-top:8px}.mail-outbox-item summary{cursor:pointer;font-weight:700;color:#3e574b}.mail-edit-form{margin-top:12px}.mail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mail-actions form{margin:0}.email-template-title{margin-top:20px}@media(max-width:1100px){.email-layout{grid-template-columns:1fr}}

/* 2.4.55 – echter SMTP-Versand */
.mail-sent-info{font-size:12px;color:#557064;margin:7px 0}.mail-error{margin:8px 0 0}.mail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mail-actions form{margin:0}

/* 2.4.57 – Empfänger aus Mitgliedern / Vereinsarten / Gruppen */
.mail-recipient-panel{display:grid;gap:8px;padding:12px;border:1px solid #dce6e0;border-radius:10px;background:#fbfdfc}
.mail-recipient-panel[hidden]{display:none!important}
.mail-recipient-help{margin:0;font-size:12px;line-height:1.45}

/* 2.4.58 – Sammelversand automatisch erzeugter Rechnungen */
.mail-batch-card{grid-column:1/-1}
.mail-batch-summary{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.mail-batch-summary>span{display:inline-flex;gap:5px;align-items:center;padding:7px 10px;border-radius:999px;background:#f2f5f3;border:1px solid #dce6e0;color:#41594d}
.mail-batch-summary .mail-batch-ok{background:#edf7f1;color:#1c6841;border-color:#c8e3d2}
.mail-batch-summary .mail-batch-missing{background:#fff4e7;color:#965514;border-color:#efd7b7}
.mail-batch-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}
.mail-batch-table input[type=checkbox]{width:18px;height:18px}
.mail-email-missing{font-weight:750;color:#a14b36}
@media(max-width:750px){.mail-batch-toolbar{align-items:stretch;flex-direction:column}.mail-batch-toolbar button{width:100%}}

/* 2.4.59 – Postausgang neu angeordnet */
.mail-workspace{
  display:grid;
  gap:18px;
}
.mail-top-grid{
  display:grid;
  grid-template-columns:minmax(380px,.82fr) minmax(620px,1.18fr);
  gap:18px;
  align-items:start;
}
.mail-compose-card,
.mail-invoice-card,
.mail-history-card{
  margin:0;
  min-width:0;
}
.mail-compose-card{
  position:sticky;
  top:18px;
}
.mail-compose-card .section-title{
  margin-bottom:16px;
}
.mail-compose-card .form{
  gap:14px;
}
.mail-compose-card textarea{
  min-height:180px;
  resize:vertical;
}
.mail-compose-card .form-actions{
  margin-top:4px;
}
.mail-invoice-card{
  min-height:100%;
}
.mail-invoice-card .section-title{
  margin-bottom:12px;
}
.mail-batch-summary{
  margin:10px 0 12px!important;
}
.mail-batch-toolbar{
  margin:10px 0 12px!important;
  padding:10px 12px;
  border:1px solid #e0e8e3;
  border-radius:10px;
  background:#fbfdfc;
}
.mail-batch-table{
  min-width:760px;
}
.mail-history-card{
  width:100%;
}
.mail-history-card .mail-outbox-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.mail-history-card .mail-outbox-item{
  margin:0;
  min-width:0;
}
.mail-history-card .mail-outbox-item details{
  width:100%;
}
.mail-history-card .mail-outbox-item summary{
  min-height:54px;
}
@media(max-width:1250px){
  .mail-top-grid{
    grid-template-columns:1fr;
  }
  .mail-compose-card{
    position:static;
  }
}
@media(max-width:900px){
  .mail-history-card .mail-outbox-list{
    grid-template-columns:1fr;
  }
}

/* 2.4.60 – Postausgang: echtes Vollbreiten-Layout */
.mail-workspace{width:100%!important;max-width:none!important}
.mail-top-grid{grid-template-columns:minmax(360px,430px) minmax(0,1fr)!important;width:100%}
.mail-compose-card{width:100%}
.mail-invoice-card{width:100%;overflow:hidden}
.mail-invoice-card .tablewrap{width:100%;overflow-x:auto}
.mail-history-card{width:100%}
@media(max-width:1180px){.mail-top-grid{grid-template-columns:1fr!important}}

/* 2.4.61 – Postausgang als Haupt-Tabs */
.mail-tab-workspace{display:block!important;width:100%!important;max-width:none!important}
.mail-main-tabs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  padding:7px;margin:0 0 16px;background:#fff;border:1px solid #dce6e0;
  border-radius:13px;box-shadow:0 2px 10px rgba(20,43,31,.04)
}
.mail-main-tab{
  min-height:44px;padding:0 17px;border-radius:9px;background:transparent!important;
  color:#40564b!important;border:1px solid transparent!important;font-weight:800;font-size:13px
}
.mail-main-tab:hover{background:#f2f7f4!important;color:#183e2d!important}
.mail-main-tab.active{background:#198754!important;color:#fff!important;border-color:#198754!important;box-shadow:0 3px 10px rgba(25,135,84,.16)}
.mail-main-panel{width:100%;min-width:0}
.mail-main-panel[hidden]{display:none!important}
.mail-main-panel>.card{width:100%!important;max-width:none!important;margin:0!important;position:static!important;min-height:0!important}
.mail-main-panel[data-mail-panel="compose"]>.card{max-width:900px!important}
.mail-main-panel[data-mail-panel="history"] .mail-outbox-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mail-main-panel[data-mail-panel="invoices"] .mail-batch-table{min-width:900px}
@media(max-width:900px){
  .mail-main-tabs{align-items:stretch;flex-direction:column}
  .mail-main-tab{width:100%;justify-content:flex-start}
  .mail-main-panel[data-mail-panel="history"] .mail-outbox-list{grid-template-columns:1fr!important}
}


/* 2.4.62 – Versandprotokoll als sortierbare Liste */
.mail-history-card .mail-outbox-list{display:block!important}
.mail-history-tablewrap{margin-top:14px;overflow:auto}
.mail-history-table{min-width:1180px}
.mail-history-table th{cursor:default;user-select:none}
.mail-history-table th[data-sort]{cursor:pointer}
.mail-history-table th[data-sort]::after{content:" ↕";opacity:.35;font-size:10px}
.mail-history-table th.sort-asc::after{content:" ↑";opacity:1}
.mail-history-table th.sort-desc::after{content:" ↓";opacity:1}
.mail-history-table td{vertical-align:middle}
.mail-history-table td:nth-child(4){white-space:normal;min-width:260px}
.mail-history-table td:nth-child(5){white-space:normal;min-width:170px}
.mail-history-table td:nth-child(8){width:110px}
.mail-list-attachment{font-size:12px;color:#526a5e}
.mail-list-error{margin-top:4px;font-size:11px;color:#a13d32;font-weight:700;cursor:help}
.mail-list-edit-btn{min-width:86px}
.mail-history-edit-row>td{background:#f8fbf9!important;padding:16px!important}
.mail-history-edit-row .mail-edit-form{max-width:1000px}
.mail-history-edit-row[hidden]{display:none!important}

/* 2.4.63 – Versandprotokoll-Sortierung repariert */
.mail-history-table th[data-sort]{cursor:pointer!important;user-select:none}
.mail-history-table th[data-sort]:hover{background:#edf4f0!important;color:#214d37!important}
.mail-history-table th[data-sort].sort-asc,.mail-history-table th[data-sort].sort-desc{background:#e5f1e9!important;color:#174d32!important;font-weight:850!important}


/* 2.4.64 – kompakte gruppierte Hauptnavigation */
.sidebar .main-nav{
  overflow-y:auto;
  overflow-x:hidden;
  gap:7px;
  padding:10px 6px 12px;
  scrollbar-width:thin;
}
.sidebar .nav-home{
  margin-bottom:2px;
}
.sidebar .nav-home > a{
  display:flex;
  align-items:center;
  gap:11px;
}
.sidebar .nav-accordion{
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
}
.sidebar .nav-group + .nav-group{
  border-top-width:1px!important;
}
.sidebar .nav-group-toggle{
  width:100%;
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.sidebar .nav-group-toggle:hover,
.sidebar .nav-group-toggle:focus-visible{
  background:rgba(255,255,255,.10);
  outline:none;
}
.sidebar .nav-group-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:750;
}
.sidebar .nav-group-icon{
  width:24px;
  min-width:24px;
  display:grid;
  place-items:center;
  font-size:17px;
  color:#fff;
}
.sidebar .nav-group-chevron{
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
  opacity:.8;
}
.sidebar .nav-accordion.is-open .nav-group-chevron{
  transform:rotate(180deg);
}
.sidebar .nav-group-body{
  display:none;
  padding:2px 5px 7px;
  border-top:1px solid rgba(255,255,255,.08);
}
.sidebar .nav-accordion.is-open .nav-group-body{
  display:block;
}
.sidebar .nav-group-body > a{
  margin-top:3px;
  min-height:40px!important;
  padding:8px 10px!important;
}
.sidebar .nav-group-body .nav-program-switch{
  margin:4px 0 3px!important;
  min-height:58px!important;
}
.sidebar .nav-group-body .nav-program-switch .nav-icon{
  min-width:30px;
  height:30px;
}
body.sidebar-is-collapsed .sidebar .nav-home{
  margin:0 0 6px;
}
body.sidebar-is-collapsed .sidebar .nav-home > a{
  justify-content:center;
  padding:9px 4px!important;
  min-height:48px;
}
body.sidebar-is-collapsed .sidebar .nav-accordion{
  border:0!important;
  background:transparent;
  overflow:visible;
}
body.sidebar-is-collapsed .sidebar .nav-group-toggle{
  display:none!important;
}
body.sidebar-is-collapsed .sidebar .nav-group-body{
  display:block!important;
  padding:0;
  border-top:0;
}
body.sidebar-is-collapsed .sidebar .nav-group-body > a{
  justify-content:center;
  padding:9px 4px!important;
  gap:0;
  min-height:48px!important;
}
body.sidebar-is-collapsed .sidebar .nav-group-body .nav-program-switch{
  margin:0!important;
  min-height:48px!important;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.sidebar-is-collapsed .sidebar .nav-group-body .nav-program-switch:hover{
  background:rgba(255,255,255,.14);
  transform:none;
}
@media(max-width:1000px){
  .sidebar .main-nav{
    display:flex!important;
    grid-template-columns:none!important;
  }
  .sidebar .nav-accordion{
    width:100%;
  }
}


/* 2.4.65 – Vereinskalender */
.calendar-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr);
  gap:18px;
  align-items:start;
}
.calendar-main-card{min-width:0}
.calendar-side{display:grid;gap:18px}
.calendar-toolbar{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:12px;
  align-items:start;
  margin-bottom:14px;
}
.calendar-nav-btn{
  width:44px;height:44px;border-radius:10px;
  display:grid;place-items:center;
  border:1px solid #dbe5df;background:#fff;color:#263a30;
  font-size:28px;text-decoration:none;
}
.calendar-nav-btn:hover{background:#f4f7f5}
.calendar-month-title{text-align:center}
.calendar-month-title h2{margin:2px 0 8px}
.calendar-legend{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;
  font-size:11px;color:#66776e
}
.calendar-legend-item{display:inline-flex;align-items:center;gap:5px}
.calendar-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.calendar-month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border-left:1px solid #e0e7e3;
  border-top:1px solid #e0e7e3;
  overflow:hidden;
  border-radius:12px;
}
.calendar-weekday{
  padding:9px 6px;text-align:center;font-weight:750;font-size:12px;
  background:#f5f8f6;border-right:1px solid #e0e7e3;border-bottom:1px solid #e0e7e3;
}
.calendar-day{
  min-height:128px;padding:7px;
  border-right:1px solid #e0e7e3;border-bottom:1px solid #e0e7e3;
  background:#fff;
}
.calendar-day.is-outside{background:#fafbfa;color:#a2ada7}
.calendar-day.is-today{box-shadow:inset 0 0 0 2px #4f7561}
.calendar-day-number{font-size:12px;font-weight:800;margin-bottom:5px}
.calendar-day-items{display:grid;gap:4px}
.calendar-event{
  position:relative;
  border-left:4px solid currentColor;
  border-radius:6px;
  padding:5px 18px 5px 6px;
  font-size:10px;
  line-height:1.2;
  overflow:hidden;
}
.calendar-event-time{font-weight:800;opacity:.8;margin-bottom:2px}
.calendar-event-title{font-weight:700;overflow:hidden;text-overflow:ellipsis}
.calendar-repeat{position:absolute;right:5px;top:5px;font-size:11px;opacity:.75}
.cal-general{background:#eef3f0;color:#456153}
.cal-event{background:#eef4fb;color:#355f8a}
.cal-board{background:#f2effa;color:#63548a}
.cal-work{background:#fff5e8;color:#936226}
.cal-shooting{background:#edf6ef;color:#36734a}
.cal-deadline{background:#fff0ef;color:#9a493f}
.cal-birthday{background:#fff0f7;color:#9a4c75}
.calendar-dot.cal-general{background:#456153}
.calendar-dot.cal-event{background:#355f8a}
.calendar-dot.cal-board{background:#63548a}
.calendar-dot.cal-work{background:#936226}
.calendar-dot.cal-shooting{background:#36734a}
.calendar-dot.cal-deadline{background:#9a493f}
.calendar-dot.cal-birthday{background:#9a4c75}
.calendar-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calendar-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}
.calendar-check input{width:auto!important}
.calendar-list{display:grid;gap:8px;max-height:620px;overflow:auto;padding-right:3px}
.calendar-list-row{
  display:grid;grid-template-columns:62px minmax(0,1fr) auto;
  gap:10px;align-items:center;
  padding:9px;border:1px solid #e2e8e4;border-radius:9px;background:#fff
}
.calendar-list-date{display:grid;gap:1px}
.calendar-list-date strong{font-size:13px}
.calendar-list-date span{font-size:11px;color:#6e7d75}
.calendar-list-main{min-width:0;display:grid;gap:2px}
.calendar-list-main strong{font-size:13px}
.calendar-list-main small{color:#6e7d75;white-space:normal}
.calendar-delete-btn{padding:6px 8px!important;font-size:11px!important}
@media(max-width:1280px){
  .calendar-layout{grid-template-columns:1fr}
  .calendar-side{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}
}
@media(max-width:850px){
  .calendar-side{grid-template-columns:1fr}
  .calendar-day{min-height:92px;padding:4px}
  .calendar-event{padding:4px;font-size:9px;border-left-width:3px}
  .calendar-event-time{display:none}
  .calendar-repeat{display:none}
  .calendar-form-row{grid-template-columns:1fr}
}


/* 2.4.67 – Kalender: Bearbeiten, Filter, ICS */
.calendar-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.calendar-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:end;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #e0e7e3;
  border-radius:10px;
  background:#f9fbfa;
}
.calendar-filter-bar label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#53675c}
.calendar-filter-bar select{min-width:170px}
.calendar-filter-bar .filter-check{display:flex!important;margin-bottom:7px}
.calendar-edit-notice{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:9px 10px;border-radius:9px;background:#eef4fb;color:#355f8a;
}
.calendar-edit-notice a{font-size:12px;font-weight:700;color:inherit}
.calendar-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.calendar-row-actions form{margin:0}
@media(max-width:700px){
  .calendar-header-actions{justify-content:flex-start}
  .calendar-filter-bar{align-items:stretch}
  .calendar-filter-bar label{width:100%}
  .calendar-filter-bar select{width:100%}
  .calendar-row-actions{flex-direction:column;align-items:stretch}
}


/* 2.4.68 – Kalenderbedienung per Doppelklick / Rechtsklick */
.calendar-full-card{width:100%;margin-bottom:18px}
.calendar-day{cursor:default}
.calendar-day:hover{background:#fbfdfc}
.calendar-event{cursor:pointer;user-select:none}
.calendar-event:hover{filter:brightness(.97);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.calendar-list-card{width:100%}
.calendar-list-wide{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.calendar-list-clickable[data-kind="event"]{cursor:pointer}
.calendar-list-clickable[data-kind="event"]:hover{background:#f7faf8}
.calendar-modal-backdrop{
  position:fixed;inset:0;z-index:1200;
  display:grid;place-items:center;
  padding:24px;
  background:rgba(23,31,27,.45);
  backdrop-filter:blur(2px);
}
.calendar-modal-backdrop[hidden]{display:none!important}
.calendar-modal{
  width:min(760px,calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  border:1px solid #dce5e0;
}
.calendar-modal-head{
  position:sticky;top:0;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:18px 20px 14px;
  border-bottom:1px solid #e3e9e5;
  background:#fff;
}
.calendar-modal-head h2{margin:2px 0 0}
.calendar-modal-close{
  width:38px;height:38px;border:0;border-radius:9px;
  background:#f1f4f2;color:#38483f;font-size:26px;cursor:pointer;
}
.calendar-modal-form{padding:18px 20px 20px}
.calendar-modal-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calendar-inline-options{
  display:grid;grid-template-columns:minmax(150px,.65fr) minmax(220px,1fr);
  gap:12px;align-items:end
}
.calendar-modal-actions{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:6px;
}
.calendar-modal-actions-right{display:flex;gap:8px;margin-left:auto}
.calendar-context-menu{
  position:fixed;z-index:1400;
  min-width:190px;padding:6px;
  border:1px solid #d8e1dc;border-radius:10px;
  background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.18)
}
.calendar-context-menu[hidden]{display:none!important}
.calendar-context-menu button{
  width:100%;display:block;text-align:left;
  padding:9px 10px;border:0;border-radius:7px;
  background:transparent;color:#314239;cursor:pointer;font:inherit
}
.calendar-context-menu button:hover{background:#f1f5f2}
.calendar-context-menu .danger-text{color:#a13f39}
@media(max-width:900px){
  .calendar-list-wide{grid-template-columns:1fr}
}
@media(max-width:650px){
  .calendar-modal-two,.calendar-inline-options{grid-template-columns:1fr}
  .calendar-modal-actions{align-items:stretch;flex-direction:column}
  .calendar-modal-actions-right{width:100%;margin-left:0}
  .calendar-modal-actions-right>*{flex:1}
}


/* 2.4.69 – Erweiterte Wiederholungsregeln */
.calendar-nth-recurrence{
  display:grid;
  grid-template-columns:160px 1fr minmax(190px,auto);
  gap:12px;
  align-items:end;
  padding:12px;
  border:1px solid #dce6e0;
  border-radius:10px;
  background:#f8fbf9;
}
.calendar-nth-recurrence[hidden]{display:none!important}
.calendar-rule-preview{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:8px 10px;
  border-radius:8px;
  background:#edf4ef;
  color:#365846;
  font-size:12px;
  font-weight:750;
}
@media(max-width:700px){
  .calendar-nth-recurrence{grid-template-columns:1fr}
}


/* 2.4.70 – ruhige Kalenderfarben und Mehrfachgruppen */
.calendar-event{
  border-left-width:3px!important;
  box-shadow:none!important;
}
.cal-general{background:#f3f5f4!important;color:#53645a!important}
.cal-event{background:#f2f5f7!important;color:#526875!important}
.cal-board{background:#f4f3f6!important;color:#675f70!important}
.cal-work{background:#f7f5f1!important;color:#766653!important}
.cal-shooting{background:#f1f5f2!important;color:#526b59!important}
.cal-deadline{background:#f7f2f1!important;color:#775b57!important}
.cal-birthday{background:#f7f3f5!important;color:#775f6b!important}
.calendar-dot.cal-general{background:#8d9a92!important}
.calendar-dot.cal-event{background:#8799a4!important}
.calendar-dot.cal-board{background:#9a919f!important}
.calendar-dot.cal-work{background:#a59783!important}
.calendar-dot.cal-shooting{background:#829487!important}
.calendar-dot.cal-deadline{background:#a38d88!important}
.calendar-dot.cal-birthday{background:#a08c96!important}
.calendar-modal select[multiple]{
  min-height:118px;
  padding:6px;
}
.calendar-modal select[multiple] option{
  padding:6px 8px;
  border-radius:5px;
}
.calendar-group-manage-box{
  display:grid;
  align-content:start;
  gap:8px;
  padding:10px;
  border:1px solid #dce5e0;
  border-radius:10px;
  background:#fafcfb;
}
.calendar-group-create-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.calendar-group-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.calendar-group-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid #d8e1dc;
  border-radius:999px;
  background:#f2f5f3;
  color:#4c5f54;
  font-size:12px;
}
.calendar-group-remove{
  width:19px;height:19px;
  display:grid;place-items:center;
  padding:0;border:0;border-radius:50%;
  background:transparent;color:#8a5c58;
  cursor:pointer;font-size:15px;line-height:1;
}
.calendar-group-remove:hover{background:#eadfdd}


/* 2.4.71 – Kalendergruppen zentral in Einstellungen */
.calendar-settings-create{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 110px auto;
  gap:12px;
  align-items:end;
  margin-bottom:16px;
}
.calendar-settings-list{display:grid;gap:8px}
.calendar-settings-row{
  display:grid;
  grid-template-columns:22px minmax(180px,1fr) 90px 90px auto auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e0e7e3;
  border-radius:10px;
  background:#fff;
}
.calendar-settings-swatch{
  width:18px;height:18px;border-radius:50%;
  border:1px solid rgba(0,0,0,.08);
}
.calendar-settings-active{display:flex!important;align-items:center;gap:6px}
.calendar-group-info-box{
  display:grid;
  align-content:start;
  gap:8px;
  padding:11px;
  border:1px solid #dce5e0;
  border-radius:10px;
  background:#fafcfb;
}
.calendar-event[style*="--calendar-group-color"]{
  border-left-color:var(--calendar-group-color)!important;
}
@media(max-width:850px){
  .calendar-settings-create{grid-template-columns:1fr}
  .calendar-settings-row{grid-template-columns:22px 1fr 80px}
}


/* 2.4.72 – Phase 1 Kalender */
.settings-calendar-stack{display:grid;gap:18px}
.calendar-settings-category-row{
  display:grid;
  grid-template-columns:22px minmax(180px,1fr) 90px 80px 90px auto auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e0e7e3;
  border-radius:10px;
  background:#fff;
}
.calendar-visibility-bar{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin:0 0 10px;
}
.calendar-chip{
  --chip-color:#718178;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--chip-color) 70%, white);
  border-radius:999px;
  background:color-mix(in srgb,var(--chip-color) 8%, white);
  color:#405047;
  cursor:pointer;
  font-size:12px;
  font-weight:700;
}
.calendar-chip.is-active{
  background:color-mix(in srgb,var(--chip-color) 18%, white);
  border-color:var(--chip-color);
}
.calendar-chip:not(.is-active){
  opacity:.45;
  filter:grayscale(.4);
}
.calendar-chip-check{
  width:15px;height:15px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--chip-color);
  color:white;
  font-size:9px;
}
.calendar-chip-all{--chip-color:#497b5e}
.calendar-filter-compact{justify-content:flex-start!important}
.calendar-event[hidden]{display:none!important}
@media(max-width:900px){
  .calendar-settings-category-row{grid-template-columns:22px 1fr 80px}
}


/* 2.4.73 – Phase 2: Serienaktionen */
.calendar-series-choice-backdrop{
  position:fixed;
  inset:0;
  z-index:1350;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(24,31,27,.42);
  backdrop-filter:blur(2px);
}
.calendar-series-choice-backdrop[hidden]{display:none!important}
.calendar-series-choice{
  width:min(520px,calc(100vw - 32px));
  border:1px solid #dce5e0;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.calendar-series-choice-body{
  display:grid;
  gap:9px;
  padding:16px 18px 18px;
}
.calendar-series-choice-body>p{margin:0 0 3px;color:#66766d}
.calendar-series-option{
  display:grid;
  gap:3px;
  width:100%;
  padding:12px 13px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#fbfcfb;
  color:#33483c;
  text-align:left;
  cursor:pointer;
}
.calendar-series-option:hover{
  background:#f1f6f3;
  border-color:#bfcfc5;
}
.calendar-series-option strong{font-size:13px}
.calendar-series-option span{font-size:11px;color:#718078}


/* 2.4.74 – Terminfenster übersichtlicher, Kategorien entfernt */
.calendar-modal{width:min(820px,calc(100vw - 32px))!important}
.calendar-modal-form{display:grid;gap:14px}
.calendar-form-section{
  display:grid;
  gap:10px;
  padding:13px;
  border:1px solid #e2e8e4;
  border-radius:11px;
  background:#fbfcfb;
}
.calendar-form-section-title{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#617269;
}
.calendar-allday-check{margin-top:-2px}
.calendar-groups-row{align-items:start}
.calendar-modal-form textarea{min-height:110px}
.calendar-modal-form .calendar-modal-two{gap:14px}
.calendar-modal-form label{gap:6px}
@media(max-width:700px){.calendar-form-section{padding:10px}}


/* 2.4.75 – Vereinsgruppen komfortabel mehrfach auswählen */
.calendar-multiselect{
  position:relative;
  display:grid;
  gap:8px;
}
.calendar-multiselect-trigger{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border:1px solid #ccd8d1;
  border-radius:8px;
  background:#fff;
  color:#33463b;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.calendar-multiselect-trigger:hover,
.calendar-multiselect-trigger:focus-visible{
  border-color:#95aa9e;
  outline:none;
}
.calendar-multiselect-menu{
  position:absolute;
  z-index:30;
  top:46px;
  left:0;
  right:0;
  max-height:220px;
  overflow:auto;
  padding:6px;
  border:1px solid #d6e0da;
  border-radius:9px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.calendar-multiselect-menu[hidden]{display:none!important}
.calendar-multiselect-option{
  width:100%;
  display:block;
  padding:9px 10px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#34473c;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.calendar-multiselect-option:hover{background:#f0f5f2}
.calendar-selected-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-height:0;
}
.calendar-selected-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px 5px 10px;
  border:1px solid #cbd9d1;
  border-radius:999px;
  background:#eef4f0;
  color:#40584b;
  font-size:12px;
  font-weight:700;
}
.calendar-selected-chip button{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#687b70;
  cursor:pointer;
  font-size:15px;
  line-height:1;
}
.calendar-selected-chip button:hover{
  background:#dce8e1;
  color:#314a3c;
}


/* 2.4.76 – gleiche Auswahlbedienung für Mitglieder und Kalendergruppen */
.calendar-option-dot,
.calendar-selected-chip-dot{
  width:10px;
  height:10px;
  min-width:10px;
  border-radius:50%;
  display:inline-block;
}
.calendar-group-color-option{
  display:flex!important;
  align-items:center;
  gap:8px;
}
.calendar-selected-color-chip{
  gap:6px;
}
.calendar-single-picker .calendar-selected-chips{
  min-height:0;
}


/* 2.4.77 – dauerhafte Kalenderfilter, mehrere Mitglieder, Titelvorlagen */
.calendar-title-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);
  gap:8px;
}
.calendar-title-create{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:12px;
  align-items:end;
  margin-bottom:14px;
}
.calendar-title-settings-list{
  display:grid;
  gap:8px;
}
.calendar-title-settings-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 80px 90px auto auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e0e7e3;
  border-radius:10px;
  background:#fff;
}
@media(max-width:760px){
  .calendar-title-picker{grid-template-columns:1fr}
  .calendar-title-create{grid-template-columns:1fr}
  .calendar-title-settings-row{grid-template-columns:1fr}
}


/* 2.4.78 – kräftige Kalenderfarben + Listenansicht */
.calendar-view-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:8px;
}
.calendar-view-switch{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border:1px solid #d8e2dc;
  border-radius:10px;
  background:#f7f9f8;
}
.calendar-view-btn{
  padding:7px 14px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#52645a;
  font-weight:800;
  cursor:pointer;
}
.calendar-view-btn.is-active{
  background:#fff;
  color:#2f4539;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.calendar-event{
  padding:6px 8px!important;
  border-radius:7px!important;
  border-left-width:4px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
  box-shadow:0 1px 3px rgba(0,0,0,.12)!important;
}
.calendar-event:hover{filter:brightness(.95)}
.calendar-list-controls{margin-bottom:12px}
.calendar-range-form{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:end;
}
.calendar-range-form label{display:grid;gap:5px}
.calendar-range-list{padding:0!important;overflow:hidden}
.calendar-range-row{
  display:grid;
  grid-template-columns:115px 7px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:62px;
  padding:10px 14px;
  border-bottom:1px solid #e7ece9;
  background:#fff;
}
.calendar-range-row:last-child{border-bottom:0}
.calendar-range-row[hidden]{display:none!important}
.calendar-range-date{display:grid;gap:2px}
.calendar-range-date span{font-size:12px;color:#6f7c75}
.calendar-range-color{
  width:7px;
  height:38px;
  border-radius:999px;
}
.calendar-range-main{min-width:0;display:grid;gap:3px}
.calendar-range-main>strong{font-size:14px;color:#283a30}
.calendar-range-main small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6f7c75;
}
@media(max-width:760px){
  .calendar-range-row{grid-template-columns:88px 6px minmax(0,1fr)}
  .calendar-range-row>.btn{grid-column:3}
  .calendar-range-form{align-items:stretch}
}

/* 2.4.79 Kalender-Abonnements */
.calendar-subscriptions{margin-bottom:16px;padding:14px 18px}
.calendar-subscriptions summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calendar-subscriptions>p{margin:14px 0}
.calendar-subscription-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 0;border-top:1px solid #e1e9e4}
.calendar-subscription-row>strong{min-width:155px;display:inline-flex;align-items:center;gap:7px}
.calendar-subscription-row>input{flex:1 1 230px;min-width:160px}
.calendar-subscription-row form{margin:0}
.calendar-subscription-dot{display:inline-block;width:11px;height:11px;border-radius:50%}


/* 2.4.80 – Heute-Markierung + Kalender-PDF für Listenansicht */
.calendar-day{
  position:relative;
}
.calendar-day-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.calendar-day.is-today{
  background:linear-gradient(180deg, #f2f8f4 0%, #ffffff 38%);
  box-shadow:none;
}
.calendar-day.is-today .calendar-day-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#2f8a57;
  color:#fff;
  font-size:14px;
  box-shadow:0 4px 10px rgba(47,138,87,.25);
}
.calendar-today-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  background:#e7f6eb;
  color:#206540;
  border:1px solid #b8dfc5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.calendar-range-actions{
  display:flex;
  gap:8px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.calendar-range-form button.secondary{
  background:#eef4f0;
  color:#2b4a3b;
  border:1px solid #cfe0d4;
}

/* 2.4.86 – Wochen- und Tagesansicht */
#calendarWeekView[hidden],#calendarDayView[hidden]{display:none!important}
.calendar-agenda-nav{display:flex;align-items:center;justify-content:center;gap:22px;padding:14px 8px;background:#f4f8f5;border:1px solid #dce6df;border-radius:11px;margin:12px 0;font-size:16px}
.calendar-agenda-nav a{font-size:24px;font-weight:800;text-decoration:none;color:#315340;padding:0 12px}
.calendar-week-agenda{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:5px;overflow-x:auto;padding-bottom:10px}
.calendar-agenda-day{border:1px solid #dce6df;border-radius:10px;min-width:145px;background:#fff;overflow:hidden}
.calendar-agenda-day.is-today{border:2px solid #368456;background:#f3fbf5}
.calendar-agenda-day header{display:flex;align-items:center;justify-content:center;gap:5px;padding:12px 5px;background:#eaf1ec;font-weight:800;position:sticky;top:0;z-index:1}
.calendar-agenda-day header span{font-size:10px;color:#277348}
.calendar-agenda-day-link{color:#274633;text-decoration:none}
.calendar-agenda-hour{display:grid;grid-template-columns:43px minmax(0,1fr);min-height:53px;border-top:1px solid #ebf0ec}
.calendar-agenda-clock{font-size:10px;font-weight:700;color:#7c8980;padding:7px 2px 0 4px;border-right:1px solid #ebf0ec}
.calendar-agenda-hour-items{display:grid;gap:4px;padding:4px;align-content:start;min-width:0}
.calendar-agenda-event{display:grid;gap:3px;padding:7px;border-radius:7px;background:var(--agenda-color);color:var(--agenda-text);font-size:12px;overflow-wrap:anywhere}
.calendar-agenda-event span{font-size:11px;font-weight:800}.calendar-agenda-event strong{font-size:12px}.calendar-agenda-event small{font-size:11px}
.calendar-agenda-event[hidden]{display:none!important}
.calendar-agenda-day-full{width:100%;min-width:0}.calendar-agenda-day-full .calendar-agenda-hour{grid-template-columns:72px minmax(0,1fr);min-height:58px}.calendar-agenda-day-full .calendar-agenda-clock{font-size:12px;padding-left:15px}.calendar-agenda-day-full .calendar-agenda-event{font-size:14px;padding:10px}.calendar-agenda-day-full .calendar-agenda-event strong{font-size:14px}
@media(max-width:1100px){.calendar-week-agenda{grid-template-columns:repeat(7,155px)}}

/* 2.4.87: drag and drop with save confirmation */
.calendar-event[data-kind="event"],.calendar-agenda-event[data-kind="event"]{cursor:grab}
.is-calendar-dragging{opacity:.4!important}
.is-calendar-drop-target{background:#e1f5e8!important;outline:2px dashed #398358;outline-offset:-3px}

/* 2.4.88 – Uhrzeit im Terminfenster direkt einstellbar */
.calendar-date-time-pair{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(100px,1fr);gap:8px}
.calendar-date-time-pair input{width:100%;min-width:0}
@media(max-width:560px){.calendar-date-time-pair{grid-template-columns:1fr}}

/* 2.4.89: Kein grüner Rahmen am heutigen Tag; Tageszahl und Heute-Badge bleiben. */
.calendar-day.is-today{box-shadow:none!important;outline:none!important;}

/* 2.4.90: explicit resize control for timed appointments in week/day views. */
.calendar-resize-handle {display:block;justify-self:end;max-width:100%;margin-top:5px;padding:4px 9px;border:1px dashed currentColor;border-radius:6px;cursor:ns-resize;font-size:11px;font-weight:750;line-height:1.3;opacity:.92;user-select:none;}
.calendar-resize-handle:hover,.calendar-resize-handle:focus-visible {opacity:1;outline:2px solid currentColor;outline-offset:1px;}
.calendar-resize-handle.is-calendar-resizing {opacity:.55;}

/* 2.4.91: day selection and reliable duration resizing */
.calendar-day-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;cursor:pointer}
.calendar-resize-handle{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;min-width:110px;touch-action:none;cursor:ns-resize;background:rgba(255,255,255,.18);border:2px dashed currentColor;position:relative;z-index:2}
.calendar-agenda-day-full .calendar-resize-handle{justify-self:start;font-size:13px;min-width:150px}
.calendar-resize-handle.is-calendar-resizing{opacity:.65;background:rgba(255,255,255,.4)}

/* 2.4.92: pointer-based resizing, isolated from native drag and drop. */
.calendar-resize-handle{touch-action:none;cursor:ns-resize!important;user-select:none!important}
.calendar-agenda-hour.is-calendar-drop-target{background:#e3f4e9!important;outline:2px dashed #378457;outline-offset:-2px}


/* 2.4.93 – Kalender: automatische E-Mail-Erinnerungen */
.calendar-reminder-section{background:linear-gradient(180deg,#fbfdfc,#f6faf7)}
.calendar-reminder-check{font-weight:800;color:#294a3a}
.calendar-reminder-section .muted{display:block;margin-top:7px;line-height:1.45}

/* 2.4.94 – editierbarer Vorlauf für Kalender-Erinnerungen */
.calendar-reminder-days{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-weight:700;color:#294a3a}
.calendar-reminder-days input{width:90px;min-width:90px;text-align:center}

/* SVHMANAGER 2.4.97 – Kalender E-Mail-Vorlagen */
.calendar-reminder-preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px}
.calendar-reminder-preview-modal{max-width:860px;width:min(94vw,860px)}
.calendar-reminder-preview-body{padding:0;max-height:72vh;overflow:auto;background:#eef3f0}
.calendar-email-template-settings-list{display:grid;gap:10px}
.calendar-email-template-settings-item{border:1px solid #dde7e1;border-radius:12px;background:#fbfdfc;overflow:hidden}
.calendar-email-template-settings-item>summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;list-style:none}
.calendar-email-template-settings-item>summary::-webkit-details-marker{display:none}
.calendar-email-template-settings-item[open]>summary{border-bottom:1px solid #e4ebe6;background:#f5f9f6}
.calendar-email-template-form{padding:16px;margin:0;border:0;box-shadow:none;background:#fff}
.calendar-email-template-form textarea{resize:vertical;min-height:84px}
@media(max-width:700px){.calendar-reminder-preview-modal{width:96vw}.calendar-email-template-settings-item>summary{align-items:flex-start;flex-direction:column}}

/* SVHMANAGER 2.4.99: robuste native Dialog-Vorschau */
.calendar-reminder-preview-dialog{
  border:0;
  padding:0;
  background:transparent;
  width:min(94vw,900px);
  max-width:900px;
  max-height:94vh;
  overflow:visible;
}
.calendar-reminder-preview-dialog::backdrop{
  background:rgba(23,31,27,.55);
  backdrop-filter:blur(2px);
}
.calendar-reminder-preview-dialog .calendar-reminder-preview-modal{
  width:100%;
  max-height:90vh;
  overflow:auto;
  margin:0;
}


/* SVHMANAGER 2.5.02 – Buchungsliste vollständig responsiv, ohne horizontales Schieben */
.accounting-tab-panel[data-accounting-panel="bookings"] .tablewrap{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}
.accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed;
}

/* Auf großen Bildschirmen bleibt die kompakte Tabellenansicht erhalten. */
@media(min-width:1451px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table{
    font-size:12px!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table th,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
    padding:8px 6px!important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}

/* Auf normalen PC-/Notebook-Breiten wird jede Buchung zu einer übersichtlichen Karte. */
@media(max-width:1450px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tbody{
    display:block!important;
    width:100%!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table thead{
    display:none!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tr{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 18px;
    width:100%!important;
    margin:0 0 14px!important;
    padding:14px 16px!important;
    border:1px solid var(--ui-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(24,56,42,.045);
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td{
    display:grid!important;
    grid-template-columns:108px minmax(0,1fr)!important;
    align-items:start;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid #edf2ef!important;
    font-size:13px!important;
    overflow-wrap:anywhere;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td::before{
    content:attr(data-label);
    font-size:11px!important;
    line-height:1.35;
    font-weight:800;
    color:var(--ui-muted);
    text-transform:uppercase;
    letter-spacing:.025em;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Buchungstext"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Zahlungspartner"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Sachkonto"]{
    grid-column:span 2;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Aktion"]{
    grid-column:span 3;
    border-bottom:0!important;
    padding-top:12px!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .invoice-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:7px!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .small-btn{
    font-size:12px!important;
    padding:7px 10px!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .sphere-badge,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-kind,
  .accounting-tab-panel[data-accounting-panel="bookings"] .status-badge{
    font-size:11px!important;
  }
}

/* Kleinere Notebooks/Tablets: zwei Spalten. */
@media(max-width:1050px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tr{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Buchungstext"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Zahlungspartner"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Sachkonto"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Aktion"]{
    grid-column:span 2;
  }
}

/* Smartphone: eine Spalte, weiterhin kein seitliches Scrollen. */
@media(max-width:700px){
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table tr{
    grid-template-columns:1fr;
    padding:12px!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td,
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Buchungstext"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Zahlungspartner"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Sachkonto"],
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Aktion"]{
    grid-column:1!important;
    grid-template-columns:100px minmax(0,1fr)!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Aktion"]{
    grid-template-columns:1fr!important;
  }
  .accounting-tab-panel[data-accounting-panel="bookings"] .accounting-table td[data-label="Aktion"]::before{
    margin-bottom:4px;
  }
}


/* SVHMANAGER 2.5.04 – Zahlungsverkehr: Entwürfe ohne horizontales Scrollen */
.payment-main-content>.payment-drafts-card .table-wrap{
  width:100%;
  max-width:100%;
}

/* Normale Desktop-/Notebook-Breiten: Entwürfe als responsive Karten. */
@media(max-width:1450px){
  .payment-main-content>.payment-drafts-card .table-wrap{
    overflow-x:hidden!important;
  }
  .payment-main-content>.payment-drafts-card table,
  .payment-main-content>.payment-drafts-card tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .payment-main-content>.payment-drafts-card thead{
    display:none!important;
  }
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 18px;
    width:100%!important;
    margin:0 0 14px!important;
    padding:14px 16px!important;
    border:1px solid #dbe5df!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(24,56,42,.045);
  }
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    align-items:start;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid #edf2ef!important;
    text-align:left!important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td::before{
    content:attr(data-label);
    font-size:11px;
    line-height:1.35;
    font-weight:800;
    color:#6b7b72;
    text-transform:uppercase;
    letter-spacing:.025em;
  }
  .payment-main-content>.payment-drafts-card td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card td[data-label="Status"]{
    grid-column:span 2;
  }
  .payment-main-content>.payment-drafts-card td[data-label="Aktion"]{
    grid-column:span 3;
    border-bottom:0!important;
    grid-template-columns:112px minmax(0,1fr)!important;
  }
  .payment-main-content>.payment-drafts-card td[data-label="Aktion"] .payment-more-btn{
    justify-self:start;
  }
  .payment-main-content>.payment-drafts-card .payment-empty-row{
    display:block!important;
  }
  .payment-main-content>.payment-drafts-card .payment-empty-row td{
    display:block!important;
    width:100%!important;
    padding:16px!important;
  }
}

/* Kleinere Notebooks/Tablets: zwei Spalten. */
@media(max-width:1050px){
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .payment-main-content>.payment-drafts-card td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card td[data-label="Status"],
  .payment-main-content>.payment-drafts-card td[data-label="Aktion"]{
    grid-column:span 2;
  }
}

/* Smartphone: eine Spalte und weiterhin kein seitliches Schieben. */
@media(max-width:700px){
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row{
    grid-template-columns:1fr;
    padding:12px!important;
  }
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td,
  .payment-main-content>.payment-drafts-card td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card td[data-label="Status"],
  .payment-main-content>.payment-drafts-card td[data-label="Aktion"]{
    grid-column:1!important;
    grid-template-columns:100px minmax(0,1fr)!important;
  }
}

/* Breite Bildschirme: Tabelle darf weiterhin klassisch erscheinen, aber kompakter. */
@media(min-width:1451px){
  .payment-main-content>.payment-drafts-card table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed;
    font-size:12px;
  }
  .payment-main-content>.payment-drafts-card th,
  .payment-main-content>.payment-drafts-card td{
    padding:8px 6px!important;
    overflow-wrap:anywhere;
  }
}


/* SVHMANAGER 2.5.05 – Zahlungsverkehr: Beschriftungen der Entwürfe sauber gestapelt */
@media(max-width:1450px){
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td{
    display:block!important;
    min-width:0!important;
    padding:9px 0!important;
  }

  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td::before{
    display:block!important;
    content:attr(data-label);
    margin:0 0 4px 0!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:800!important;
    color:#6b7b72!important;
    text-transform:uppercase!important;
    letter-spacing:.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Status"]{
    grid-column:span 2;
  }

  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Aktion"]{
    grid-column:span 3;
    padding-top:12px!important;
  }

  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Aktion"]::before{
    margin-bottom:7px!important;
  }
}

@media(max-width:1050px){
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Status"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Aktion"]{
    grid-column:span 2;
  }
}

@media(max-width:700px){
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td,
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Empfänger"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Zweck"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Status"],
  .payment-main-content>.payment-drafts-card tbody tr.payment-action-row>td[data-label="Aktion"]{
    grid-column:1!important;
  }
}


/* SVHMANAGER 2.5.06
   Zahlungsverkehr: eigene responsive Kartenansicht.
   Keine Pseudo-Beschriftungen und keine Tabellen-Tricks mehr. */
.payment-draft-card-list{
  display:none;
}

@media(max-width:1600px){
  .payment-main-content>.payment-drafts-card .table-wrap{
    display:none!important;
  }

  .payment-draft-card-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    padding-top:10px;
  }

  .payment-draft-item{
    min-width:0;
    border:1px solid #dce6df;
    border-radius:14px;
    background:#fff;
    box-shadow:0 2px 9px rgba(27,54,42,.05);
    overflow:hidden;
  }

  .payment-draft-item-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    background:#f6f9f7;
    border-bottom:1px solid #e4ebe6;
  }

  .payment-draft-item-head>div{
    min-width:0;
    display:grid;
    gap:3px;
  }

  .payment-draft-item-kicker{
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#708078;
  }

  .payment-draft-item-head strong{
    font-size:15px;
    line-height:1.3;
    color:#263a30;
    overflow-wrap:anywhere;
  }

  .payment-draft-item-status{
    flex:0 0 auto;
    max-width:45%;
    padding:5px 8px;
    border-radius:999px;
    background:#e8f1eb;
    color:#315540;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    white-space:normal;
  }

  .payment-draft-item-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    padding:6px 16px 4px;
  }

  .payment-draft-field{
    min-width:0;
    padding:10px 0;
    border-bottom:1px solid #edf2ef;
  }

  .payment-draft-field>span{
    display:block;
    margin:0 0 4px;
    font-size:10px;
    line-height:1.25;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#738078;
    white-space:normal;
  }

  .payment-draft-field>strong{
    display:block;
    min-width:0;
    font-size:13px;
    line-height:1.42;
    font-weight:700;
    color:#263a30;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .payment-draft-field-wide{
    grid-column:span 1;
  }

  .payment-draft-field-full{
    grid-column:1 / -1;
  }

  .payment-draft-item-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    min-height:48px;
    padding:10px 16px 14px;
  }

  .payment-draft-item-actions .payment-more-btn{
    width:auto!important;
    min-width:110px!important;
    min-height:36px;
    padding:7px 12px!important;
    border-radius:8px;
    font-size:12px!important;
  }

  /* Alte responsive Tabellenregeln vollständig neutralisieren,
     falls Browser-CSS noch gecacht wurde bzw. durch Kaskade greift. */
  .payment-draft-card-list .payment-action-row{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }
}

@media(max-width:1000px){
  .payment-draft-card-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .payment-draft-card-list{
    gap:10px;
  }
  .payment-draft-item-grid{
    grid-template-columns:1fr;
    gap:0;
    padding-left:13px;
    padding-right:13px;
  }
  .payment-draft-field,
  .payment-draft-field-wide,
  .payment-draft-field-full{
    grid-column:1!important;
  }
  .payment-draft-item-head{
    padding:12px 13px;
  }
  .payment-draft-item-actions{
    padding:9px 13px 13px;
  }
}


/* SVHMANAGER 2.5.07
   Zahlungsverkehr: gespeicherte Entwürfe IMMER als Kartenansicht.
   Hintergrund: Die verfügbare Inhaltsbreite kann trotz großem Browserfenster
   durch Sidebar/Navigation schmal sein. Deshalb keine viewport-basierte
   Umschaltung mehr auf die alte Tabelle. */
.payment-main-content>.payment-drafts-card .table-wrap{
  display:none!important;
}

.payment-draft-card-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding-top:10px;
  width:100%;
  min-width:0;
}

.payment-draft-empty{
  grid-column:1 / -1;
  padding:24px 18px;
  border:1px dashed #cfdcd4;
  border-radius:12px;
  background:#f8fbf9;
  color:#68786f;
  text-align:center;
  font-size:13px;
}

.payment-draft-item{
  min-width:0;
  border:1px solid #dce6df;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 9px rgba(27,54,42,.05);
  overflow:hidden;
}

.payment-draft-item-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  background:#f6f9f7;
  border-bottom:1px solid #e4ebe6;
}

.payment-draft-item-head>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.payment-draft-item-kicker{
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#708078;
}

.payment-draft-item-head strong{
  font-size:15px;
  line-height:1.3;
  color:#263a30;
  overflow-wrap:anywhere;
}

.payment-draft-item-status{
  flex:0 0 auto;
  max-width:45%;
  padding:5px 8px;
  border-radius:999px;
  background:#e8f1eb;
  color:#315540;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  text-align:center;
  white-space:normal;
}

.payment-draft-item-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 18px;
  padding:6px 16px 4px;
}

.payment-draft-field{
  min-width:0;
  padding:10px 0;
  border-bottom:1px solid #edf2ef;
}

.payment-draft-field>span{
  display:block;
  margin:0 0 4px;
  font-size:10px;
  line-height:1.25;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#738078;
  white-space:normal;
}

.payment-draft-field>strong{
  display:block;
  min-width:0;
  font-size:13px;
  line-height:1.42;
  font-weight:700;
  color:#263a30;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.payment-draft-field-full{
  grid-column:1 / -1;
}

.payment-draft-item-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:48px;
  padding:10px 16px 14px;
}

.payment-draft-item-actions .payment-more-btn{
  width:auto!important;
  min-width:110px!important;
  min-height:36px;
  padding:7px 12px!important;
  border-radius:8px;
  font-size:12px!important;
}

@media(max-width:1100px){
  .payment-draft-card-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .payment-draft-item-grid{
    grid-template-columns:1fr;
    gap:0;
    padding-left:13px;
    padding-right:13px;
  }
  .payment-draft-field,
  .payment-draft-field-wide,
  .payment-draft-field-full{
    grid-column:1!important;
  }
  .payment-draft-item-head{
    padding:12px 13px;
  }
  .payment-draft-item-actions{
    padding:9px 13px 13px;
  }
}

/* 2.5.08 – Sammelauftrag: klare Formularabschnitte und separate Positionskarten */
.payment-batch-page{width:100%;min-width:0;max-width:100%;display:grid;gap:18px;align-content:start}
.payment-batch-page>.page-header{margin-bottom:0}
.payment-batch-panel{min-width:0;margin:0!important;padding:clamp(15px,2vw,24px)!important}
.payment-batch-panel h2{font-size:19px;line-height:1.3;margin:0 0 12px}
.payment-batch-page .payment-batch-title-form{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(170px,1fr) auto;gap:14px;align-items:end}
.payment-batch-page .payment-batch-title-form label{min-width:0}
.payment-batch-page .form-grid,.payment-batch-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.payment-batch-page .form-grid label,.payment-batch-fields label{min-width:0;display:grid;gap:6px}
.payment-batch-page input,.payment-batch-page select{max-width:100%;min-width:0;box-sizing:border-box}
.payment-batch-page .form-grid .span2,.payment-batch-span{grid-column:1/-1}
.payment-batch-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}
.payment-batch-section-header p{margin:0}.payment-batch-count{white-space:nowrap;border-radius:99px;background:#edf5f0;padding:7px 11px;color:#32533f;font-size:12px}
.payment-batch-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:16px}
.payment-batch-item{min-width:0;border:1px solid #dbe5dd;border-radius:14px;overflow:hidden;background:white}
.payment-batch-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px;background:#f4f8f5;border-bottom:1px solid #e0ebe3}
.payment-batch-item-head>div{min-width:0}.payment-batch-item-head h3{margin:5px 0;font-size:17px;overflow-wrap:anywhere}.payment-batch-item-head small{color:#617366}.payment-batch-index{font-size:11px;font-weight:800;color:#57715e;text-transform:uppercase}
.payment-batch-amount{font-size:17px;color:#245b37;white-space:nowrap}
.payment-batch-item-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}
.payment-batch-item-summary>div{min-width:0}.payment-batch-item-summary span,.payment-batch-item-summary strong{display:block;overflow-wrap:anywhere}
.payment-batch-item-summary span{font-size:11px;font-weight:800;color:#6b7d71;text-transform:uppercase;margin-bottom:5px}.payment-batch-item-summary strong{font-size:13px}
.payment-batch-item-controls{padding:12px 16px 16px;border-top:1px solid #e5ebe6;display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}
.payment-batch-edit{flex:1 1 100%;min-width:0}.payment-batch-edit>summary{cursor:pointer;display:inline-flex;align-items:center;padding:9px 13px;border:1px solid #abc6b5;color:#235338;background:#edf6ef;border-radius:8px;font-weight:800;list-style:none}
.payment-batch-edit>summary::-webkit-details-marker{display:none}.payment-batch-edit[open]>summary{margin-bottom:14px}
.payment-batch-edit-form{padding:15px;background:#f8faf8;border:1px solid #e1e8e2;border-radius:10px}
.payment-batch-edit-form label{font-weight:700;color:#344a3a;font-size:12px}.payment-batch-edit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.payment-batch-remove{margin:0}.payment-batch-remove button{min-height:37px}
.payment-batch-total{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding:16px;border-radius:10px;background:#eaf4ed;color:#214831;font-weight:800}.payment-batch-total strong{font-size:22px;white-space:nowrap}
.payment-batch-empty{padding:22px;border:1px dashed #bdd4c5;border-radius:10px;background:#f8fbf9;color:#506c58}
.payment-batch-page .table-wrap{max-width:100%;min-width:0}
@media(max-width:1000px){.payment-batch-page .payment-batch-title-form{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-batch-title-form button{grid-column:1/-1}}
@media(max-width:700px){.payment-batch-page .payment-batch-title-form,.payment-batch-page .form-grid,.payment-batch-fields,.payment-batch-item-summary{grid-template-columns:1fr!important}.payment-batch-page .form-grid .span2,.payment-batch-span{grid-column:1}.payment-batch-section-header{flex-direction:column}.payment-batch-total{flex-wrap:wrap}}

/* 2.5.09 – compact, clearly separated batch workflow */
.payment-batch-page{max-width:1180px!important;margin:0 auto!important;gap:14px!important}
.payment-batch-page .payment-batch-panel{padding:20px!important;border-radius:14px}
.payment-batch-page .payment-batch-panel h2{margin-bottom:12px;font-size:18px}
.payment-batch-page .payment-batch-title-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto!important}
.payment-batch-page .flash.warning{margin:0;padding:10px 14px}
.payment-batch-add-details>summary{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:18px;font-weight:800;color:#294938;list-style:none}
.payment-batch-add-details>summary::-webkit-details-marker{display:none}
.payment-batch-add-details[open]>summary{padding-bottom:14px;border-bottom:1px solid #e3ebe6;margin-bottom:16px}
.payment-batch-step{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e5f2e9;color:#286440;font-size:13px}
.payment-batch-expand-hint{margin-left:auto;font-size:12px;font-weight:600;color:#537561}
.payment-batch-add-body{max-width:100%;min-width:0}
.payment-batch-add-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.payment-batch-add-body .form-grid label{min-width:0}
.payment-batch-add-body .form>button{width:auto!important;min-width:200px;margin-top:16px}
.payment-batch-inline-empty{background:#f5faf7;border:1px dashed #d4e4d9;padding:12px;border-radius:9px;color:#536e5d}
.payment-batch-page #batch-review button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.payment-batch-page .payment-batch-title-form,.payment-batch-add-body .form-grid{grid-template-columns:1fr!important}.payment-batch-page .payment-batch-title-form button{grid-column:auto!important}.payment-batch-add-body .form>button{width:100%!important}}

/* 2.5.11: Sammellastschriften und Sammelüberweisungen wie Einzelauftragskarten. */
.payment-batch-list>.table-wrap{display:none!important}
.payment-batch-list .payment-batch-card-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.payment-batch-list .payment-draft-item{display:block!important;margin:0!important;padding:0!important;min-width:0}
.payment-batch-list .payment-draft-item-head small{display:block;color:#6a7d72;margin-top:3px}
.payment-batch-list .payment-draft-item-actions{gap:10px;flex-wrap:wrap}
.payment-batch-list .payment-draft-item-actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:8px 12px;font-size:12px}
.payment-batch-list .payment-draft-empty{grid-column:1/-1}
@media(max-width:1100px){.payment-batch-list .payment-batch-card-list{grid-template-columns:1fr}}
@media(max-width:560px){.payment-batch-list .payment-draft-item-grid{grid-template-columns:1fr}.payment-batch-list .payment-draft-field{grid-column:1!important}}

/* 2.5.12: Zahlungen zeigen Listen und Anlageformular auf getrennten Seiten. */
.payment-view-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 20px;background:#fff;border:1px solid #dce6df;border-radius:12px;margin-bottom:15px;min-width:0}
.payment-view-heading h2{margin:4px 0;font-size:20px}.payment-view-heading p{margin:3px 0 0;line-height:1.45}.payment-view-heading .btn{white-space:normal;text-align:center;flex-shrink:0}
.payment-status-summary{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}.payment-status-summary span{background:#f1f7f3;border:1px solid #d9e6dc;border-radius:9px;padding:10px 14px;font-size:13px}.payment-status-summary strong{font-size:17px;margin-right:4px}
@media(max-width:650px){.payment-view-heading{padding:14px}.payment-view-heading .btn{width:100%}}

/* 2.5.13: Adressbuch – eigenständiges, gut lesbares Layout */
.payment-address-workspace .address-book-content{display:flex!important;flex-direction:column!important;gap:16px!important;max-width:100%!important;min-width:0!important;width:100%!important;align-items:stretch!important}
.payment-address-workspace .address-book-content>.address-book-list,.payment-address-workspace .address-book-content>.address-book-create{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:none!important;margin:0!important;min-width:0!important}
.address-book-heading,.address-book-form-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.address-book-heading h2,.address-book-form-head h2{margin:0 0 6px;font-size:22px}
.address-book-heading p{margin:0}
.address-book-search-label{display:block;margin:20px 0 15px;font-size:13px;font-weight:700}
.address-book-search-label input{display:block;margin-top:7px;width:100%;max-width:650px;min-height:44px;font-size:15px}
.address-book-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:12px}
.address-book-entry{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #dbe7df;border-radius:12px;background:#fff;min-width:0}
.address-book-entry[hidden],.address-book-empty[hidden],.address-book-create[hidden]{display:none!important}
.address-book-entry-symbol{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eaf4ed;color:#24623c;font-weight:800;font-size:20px}
.address-book-entry-main{min-width:0;display:grid;gap:4px}
.address-book-entry-main strong{font-size:15px;overflow-wrap:anywhere}
.address-book-entry-meta{font-size:12px;color:#607368;overflow-wrap:anywhere}
.address-book-entry-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.address-book-entry-actions .btn{padding:8px 11px;font-size:12px}
.address-book-empty{padding:22px;border:1px dashed #cbded1;border-radius:12px;background:#f8fcf9;color:#566a60}
.address-book-create .address-book-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important;margin-top:18px}
.address-book-create .address-book-form-grid label{min-width:0}
.address-book-create .form-actions{margin-top:16px}
@media(max-width:740px){.address-book-entry{grid-template-columns:40px minmax(0,1fr);gap:10px}.address-book-entry-actions{grid-column:2}.address-book-create .address-book-form-grid{grid-template-columns:1fr!important}.address-book-heading{align-items:flex-start}}


/* SVHMANAGER 2.5.14 – modernere Mitgliederliste */
.member-page-header{
  align-items:flex-start;
  gap:18px;
}
.member-header-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.member-stat-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid #d7e5dd;
  background:#f6faf8;
  color:#355347;
  font-size:12px;
  font-weight:750;
}

.member-toolbar{
  gap:16px;
  border-radius:18px!important;
  border:1px solid #d9e5de!important;
  background:
    radial-gradient(circle at top right, rgba(25,135,84,.05), transparent 180px),
    linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%)!important;
  box-shadow:0 14px 36px rgba(20,43,31,.05)!important;
}
.member-filters{
  gap:12px 10px!important;
}
.member-filters .member-live-search{
  max-width:470px!important;
}
.member-filters input,
.member-filters select,
.member-sort-field select{
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8), 0 1px 0 rgba(0,0,0,.02);
}
.member-table-tools{
  align-items:center;
}
.member-table-tools .btn,
.member-sort-direction,
.member-sort-direction button,
.member-sort-field select{
  border-radius:12px!important;
}

.member-list-card-modern{
  padding:16px!important;
  background:linear-gradient(180deg,#f9fcfa 0%, #f3f8f5 100%)!important;
  border:1px solid #d8e4dd!important;
  box-shadow:0 14px 34px rgba(20,43,31,.05)!important;
}
.member-tablewrap{
  border-top:0!important;
  overflow:auto;
  border-radius:18px;
  padding:4px 0;
}

#membersTable.member-directory-table{
  min-width:1280px!important;
  width:100%;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
  background:transparent!important;
}

#membersTable.member-directory-table thead th{
  position:sticky;
  top:0;
  z-index:4;
  background:#eff6f2!important;
  color:#617369!important;
  text-transform:uppercase;
  font-size:11px!important;
  letter-spacing:.07em!important;
  font-weight:800!important;
  border-top:1px solid #dfe9e4;
  border-bottom:1px solid #dfe9e4!important;
  padding:13px 12px!important;
}
#membersTable.member-directory-table thead th:first-child{
  border-left:1px solid #dfe9e4;
  border-top-left-radius:14px;
  border-bottom-left-radius:14px;
}
#membersTable.member-directory-table thead th:last-child{
  border-right:1px solid #dfe9e4;
  border-top-right-radius:14px;
  border-bottom-right-radius:14px;
}

#membersTable.member-directory-table tbody tr.member-row td{
  background:#ffffff!important;
  border-top:1px solid #e3ece7!important;
  border-bottom:1px solid #e3ece7!important;
  padding:14px 12px!important;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
#membersTable.member-directory-table tbody tr.member-row td:first-child{
  border-left:1px solid #e3ece7!important;
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
#membersTable.member-directory-table tbody tr.member-row td:last-child{
  border-right:1px solid #e3ece7!important;
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
#membersTable.member-directory-table tbody tr.member-row:hover td{
  background:#fbfefd!important;
  border-top-color:#cfe0d7!important;
  border-bottom-color:#cfe0d7!important;
}
#membersTable.member-directory-table tbody tr.member-row:hover td:first-child{
  border-left-color:#cfe0d7!important;
}
#membersTable.member-directory-table tbody tr.member-row:hover td:last-child{
  border-right-color:#cfe0d7!important;
}

#membersTable.member-directory-table td[data-col="name"]{
  min-width:320px!important;
}
.member-name-link{
  gap:5px!important;
}
.member-name-main{
  font-size:17px!important;
  font-weight:850!important;
}
.member-name-meta{
  display:inline-flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:12px!important;
}
.member-name-meta::before{
  content:"Mitglied";
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  background:#f3f8f5;
  border:1px solid #e1ebe5;
  color:#5f7569;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.member-number{
  background:#f5faf7!important;
  border-color:#d9e6df!important;
  color:#2f5746!important;
  font-weight:800!important;
}
#membersTable.member-directory-table td[data-col="groups"],
#membersTable.member-directory-table td[data-col="offices"]{
  white-space:normal;
  line-height:1.45;
}
#membersTable.member-directory-table td[data-col="city"],
#membersTable.member-directory-table td[data-col="type"],
#membersTable.member-directory-table td[data-col="groups"],
#membersTable.member-directory-table td[data-col="paymentperiod"],
#membersTable.member-directory-table td[data-col="paymentmethod"]{
  color:#395447!important;
}
.member-office-badge{
  background:#f2f8f4!important;
  border-color:#d6e7dc!important;
  color:#214d38!important;
  border-radius:999px!important;
}
.member-more-btn{
  min-width:40px!important;
  min-height:36px!important;
  border-radius:12px!important;
  box-shadow:0 2px 6px rgba(20,43,31,.06);
}
#membersTable.member-directory-table th[data-col="photo"],
#membersTable.member-directory-table td[data-col="photo"]{
  width:68px!important;
  min-width:68px!important;
}
#membersTable.member-directory-table td[data-col="photo"] .member-list-avatar{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  box-shadow:0 2px 6px rgba(20,43,31,.08);
}
#membersTable.member-directory-table td[data-col="paymentstatus"]{
  min-width:76px;
}

#membersTable.member-directory-table.compact{
  border-spacing:0 8px!important;
}
#membersTable.member-directory-table.compact tbody tr.member-row td{
  padding:8px 10px!important;
}
#membersTable.member-directory-table.compact thead th{
  padding:10px 10px!important;
}
#membersTable.member-directory-table.compact .member-name-main{
  font-size:14px!important;
}
#membersTable.member-directory-table.compact td[data-col="name"]{
  min-width:230px!important;
}

/* Responsive: modern cards for smaller content widths */
@media(max-width:1200px){
  .member-list-card-modern{
    padding:12px!important;
  }
  #membersTable.member-directory-table{
    min-width:0!important;
    border-spacing:0!important;
  }
  #membersTable.member-directory-table thead{
    display:none!important;
  }
  #membersTable.member-directory-table,
  #membersTable.member-directory-table tbody{
    display:block!important;
    width:100%!important;
  }
  #membersTable.member-directory-table tbody tr.member-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
    margin:0 0 14px!important;
  }
  #membersTable.member-directory-table tbody tr.member-row td{
    display:block!important;
    min-width:0!important;
    border-left:1px solid #e3ece7!important;
    border-right:1px solid #e3ece7!important;
    border-radius:0!important;
    padding:10px 12px!important;
  }
  #membersTable.member-directory-table tbody tr.member-row td::before{
    display:block;
    margin-bottom:4px;
    color:#758379;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  #membersTable.member-directory-table td[data-col="photo"]::before{content:"Foto";}
  #membersTable.member-directory-table td[data-col="number"]::before{content:"Mitgliedsnummer";}
  #membersTable.member-directory-table td[data-col="name"]::before{content:"Mitglied";}
  #membersTable.member-directory-table td[data-col="firstname"]::before{content:"Vorname";}
  #membersTable.member-directory-table td[data-col="lastname"]::before{content:"Nachname";}
  #membersTable.member-directory-table td[data-col="category"]::before{content:"Vereinsart";}
  #membersTable.member-directory-table td[data-col="memberstatus"]::before{content:"Mitgliedsstatus";}
  #membersTable.member-directory-table td[data-col="type"]::before{content:"Beitragstarif";}
  #membersTable.member-directory-table td[data-col="birth"]::before{content:"Geburtstag";}
  #membersTable.member-directory-table td[data-col="street"]::before{content:"Straße";}
  #membersTable.member-directory-table td[data-col="postal"]::before{content:"PLZ";}
  #membersTable.member-directory-table td[data-col="city"]::before{content:"Ort";}
  #membersTable.member-directory-table td[data-col="email"]::before{content:"E-Mail";}
  #membersTable.member-directory-table td[data-col="phone"]::before{content:"Telefon";}
  #membersTable.member-directory-table td[data-col="mobile"]::before{content:"Mobil";}
  #membersTable.member-directory-table td[data-col="join"]::before{content:"Eintritt";}
  #membersTable.member-directory-table td[data-col="leave"]::before{content:"Austritt";}
  #membersTable.member-directory-table td[data-col="groups"]::before{content:"Gruppen";}
  #membersTable.member-directory-table td[data-col="offices"]::before{content:"Vereinsfunktionen";}
  #membersTable.member-directory-table td[data-col="fee"]::before{content:"Jahresbeitrag";}
  #membersTable.member-directory-table td[data-col="open"]::before{content:"Offener Betrag";}
  #membersTable.member-directory-table td[data-col="paymentstatus"]::before{content:"Bezahlstatus";}
  #membersTable.member-directory-table td[data-col="paymentmethod"]::before{content:"Zahlungsart";}
  #membersTable.member-directory-table td[data-col="paymentperiod"]::before{content:"Zahlungsintervall";}
  #membersTable.member-directory-table td[data-col="iban"]::before{content:"IBAN";}
  #membersTable.member-directory-table td[data-col="actions"]::before{content:"Aktionen";}
  #membersTable.member-directory-table td[data-col="photo"],
  #membersTable.member-directory-table td[data-col="name"],
  #membersTable.member-directory-table td[data-col="groups"],
  #membersTable.member-directory-table td[data-col="offices"],
  #membersTable.member-directory-table td[data-col="email"],
  #membersTable.member-directory-table td[data-col="street"],
  #membersTable.member-directory-table td[data-col="iban"],
  #membersTable.member-directory-table td[data-col="actions"]{
    grid-column:1 / -1;
  }
  #membersTable.member-directory-table tbody tr.member-row td:first-child{
    border-top-left-radius:16px!important;
    border-top-right-radius:16px!important;
  }
  #membersTable.member-directory-table tbody tr.member-row td:last-child{
    border-bottom-left-radius:16px!important;
    border-bottom-right-radius:16px!important;
    border-bottom:1px solid #e3ece7!important;
  }
}

@media(max-width:820px){
  .member-toolbar{
    padding:14px!important;
  }
  .member-sort-panel{
    flex-direction:column;
    align-items:stretch!important;
  }
  .member-sort-field{
    min-width:0!important;
  }
  .member-table-tools{
    width:100%;
    justify-content:stretch!important;
    padding-top:8px!important;
  }
  .member-table-tools > *{
    flex:1 1 180px;
  }
  #membersTable.member-directory-table tbody tr.member-row{
    grid-template-columns:1fr!important;
  }
  #membersTable.member-directory-table tbody tr.member-row td{
    grid-column:1!important;
  }
}



/* SVHMANAGER 2.5.15 – Mitgliederliste: Tabellenkopf beim Scrollen immer sichtbar */
@media(min-width:1201px){
  .member-list-card-modern{
    overflow:visible!important;
  }

  .member-tablewrap{
    overflow:visible!important;
  }

  #membersTable.member-directory-table thead th{
    position:sticky!important;
    top:10px!important;
    z-index:50!important;
    box-shadow:0 6px 16px rgba(20,43,31,.08);
  }

  #membersTable.member-directory-table thead th:first-child{
    border-left:1px solid #dfe9e4!important;
  }

  #membersTable.member-directory-table thead th:last-child{
    border-right:1px solid #dfe9e4!important;
  }
}

/* Falls oberhalb später noch eine feste Hauptnavigation kommt,
   bleibt etwas Abstand nach oben erhalten. */
html{
  scroll-padding-top:14px;
}

/* 2.5.16: Adressbuch – keine horizontale Seitenbreite / robuste Kacheln. */
.payment-address-workspace.address-book-workspace {
  display:grid!important;
  grid-template-columns:minmax(0,180px) minmax(0,1fr)!important;
  width:100%!important; max-width:100%!important; min-width:0!important;
  box-sizing:border-box!important;
}
.payment-address-workspace .address-book-content,
.payment-address-workspace .address-book-list,
.payment-address-workspace .address-book-create,
.payment-address-workspace .address-book-entries,
.payment-address-workspace .address-book-entry,
.payment-address-workspace .address-book-entry-main {
  min-width:0!important; max-width:100%!important; box-sizing:border-box!important;
}
.payment-address-workspace .address-book-list,
.payment-address-workspace .address-book-create { overflow-wrap:anywhere; }
.payment-address-workspace .address-book-entries {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important;
}
.payment-address-workspace .address-book-entry {
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:10px 13px!important;
}
.payment-address-workspace .address-book-entry-actions {
  grid-column:2!important; min-width:0!important; justify-content:flex-start!important;
}
.payment-address-workspace .address-book-entry-main strong,
.payment-address-workspace .address-book-entry-meta { overflow-wrap:anywhere!important; word-break:break-word; }
.payment-address-workspace .address-book-heading > div { min-width:0; flex:1 1 240px; }
.payment-address-workspace .address-book-heading .btn { flex:0 1 auto; white-space:normal; }
.payment-address-workspace .address-book-search-label input,
.payment-address-workspace .address-book-form-grid input { box-sizing:border-box!important; max-width:100%!important; min-width:0!important; }
.payment-address-workspace .address-book-create .address-book-form-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:1100px) {
  .payment-address-workspace.address-book-workspace {
    display:flex!important; flex-direction:column!important;
  }
  .payment-address-workspace .payment-side-nav {
    display:flex!important; flex-direction:row!important; flex-wrap:wrap!important;
    max-width:100%!important;
  }
  .payment-address-workspace .payment-side-nav a { min-width:0; }
}
@media (max-width:600px) {
  .payment-address-workspace .address-book-entries { grid-template-columns:minmax(0,1fr)!important; }
  .payment-address-workspace .address-book-entry { padding:12px!important; }
  .payment-address-workspace .address-book-create .address-book-form-grid { grid-template-columns:minmax(0,1fr)!important; }
  .payment-address-workspace .address-book-heading .btn { width:100%; }
  .payment-address-workspace .address-book-entry-actions { grid-column:1 / -1!important; }
}

/* 2.5.17 – Address book: structurally single-column, not a wide desktop payment grid. */
.payment-workspace.payment-address-workspace.address-book-workspace {
  display:flex!important;flex-direction:column!important;gap:14px!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
  box-sizing:border-box!important;margin:0!important;
}
.payment-address-workspace.address-book-workspace > .payment-side-nav {
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  gap:7px!important;box-sizing:border-box!important;
}
.payment-address-workspace.address-book-workspace > .payment-side-nav > a {
  flex:0 1 auto!important;min-width:0!important;max-width:100%!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
.payment-address-workspace.address-book-workspace > .address-book-content {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;overflow:visible!important;gap:14px!important;
}
.payment-address-workspace.address-book-workspace .address-book-list,
.payment-address-workspace.address-book-workspace .address-book-create,
.payment-address-workspace.address-book-workspace .address-book-import {
  display:block!important;min-width:0!important;width:100%!important;
  max-width:100%!important;box-sizing:border-box!important;
}
.payment-address-workspace.address-book-workspace .address-book-create[hidden] {display:none!important;}
.payment-address-workspace.address-book-workspace .address-book-import[hidden] {display:none!important;}
.payment-address-workspace.address-book-workspace .address-book-entries {
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
}
.payment-address-workspace.address-book-workspace .address-book-entry {
  display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
.payment-address-workspace.address-book-workspace .address-book-entry-actions {grid-column:1/-1!important;flex-wrap:wrap!important;}
.payment-address-workspace.address-book-workspace .address-book-form-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;}
.payment-address-workspace.address-book-workspace input {min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
.address-book-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.address-book-import .address-book-form-head>div{min-width:0;flex:1 1 340px}
.address-book-import .address-book-form-head p{margin:0;max-width:760px}
.address-book-import-form{margin-top:18px}
.address-book-file-field{display:block;max-width:680px;font-weight:700}
.address-book-file-field input[type="file"]{display:block;width:100%;margin-top:8px;padding:12px;border:1px dashed #a9c5b4;border-radius:10px;background:#f7fbf8;cursor:pointer}
.address-book-import-form>.muted{margin:10px 0 0}
@media(max-width:640px){
 .payment-address-workspace.address-book-workspace .address-book-entries {grid-template-columns:minmax(0,1fr)!important;}
 .payment-address-workspace.address-book-workspace .address-book-entry {grid-template-columns:38px minmax(0,1fr)!important;}
 .address-book-heading-actions{width:100%;justify-content:stretch}
 .address-book-heading-actions .btn{flex:1 1 180px;width:auto!important}
}


/* SVHMANAGER 2.5.21 – modernere Liste für alte Beitragsforderungen */
.modern-open-claims{
  margin-top:18px;
}
.modern-open-claims > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  padding:12px 16px;
  border-radius:14px;
  background:linear-gradient(180deg,#f7fbf8 0%, #eef6f1 100%);
  border:1px solid #dbe7df;
  color:#294738;
  font-weight:800;
  font-size:15px;
}
.modern-open-claims > summary::-webkit-details-marker{
  display:none;
}
.modern-open-claims > summary::before{
  content:"▸";
  margin-right:8px;
  color:#698376;
  font-size:16px;
}
.modern-open-claims[open] > summary::before{
  content:"▾";
}
.modern-open-claims > summary > span:first-of-type{
  display:flex;
  align-items:center;
  min-width:0;
}
.open-claims-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  padding:0 10px;
  border-radius:999px;
  background:#dfeee5;
  border:1px solid #c8dfd2;
  color:#29523e;
  font-size:12px;
  font-weight:800;
}
.open-claims-card{
  margin-top:12px;
  border-radius:18px!important;
  border:1px solid #dbe7df!important;
  background:linear-gradient(180deg,#ffffff 0%, #f9fcfa 100%)!important;
  box-shadow:0 12px 30px rgba(19,42,31,.05)!important;
}
.open-claims-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:4px 4px 14px;
}
.open-claims-head h3{
  margin:0 0 4px 0;
  font-size:22px;
}
.open-claims-head p{
  margin:0;
}
.open-claims-total{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#f1f7f3;
  border:1px solid #d9e8de;
  color:#466555;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.open-claims-tablewrap{
  overflow:auto;
}
.open-claims-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}
.open-claims-table thead th{
  padding:12px 14px;
  border-top:1px solid #deebe4;
  border-bottom:1px solid #deebe4;
  background:#eff6f2;
  color:#61746a;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
  font-weight:800;
  text-align:left;
}
.open-claims-table thead th:first-child{
  border-left:1px solid #deebe4;
  border-top-left-radius:14px;
  border-bottom-left-radius:14px;
}
.open-claims-table thead th:last-child{
  border-right:1px solid #deebe4;
  border-top-right-radius:14px;
  border-bottom-right-radius:14px;
}
.open-claims-table tbody td{
  padding:14px;
  background:#fff;
  border-top:1px solid #e4ece7;
  border-bottom:1px solid #e4ece7;
  vertical-align:middle;
}
.open-claims-table tbody td:first-child{
  border-left:1px solid #e4ece7;
  border-top-left-radius:15px;
  border-bottom-left-radius:15px;
}
.open-claims-table tbody td:last-child{
  border-right:1px solid #e4ece7;
  border-top-right-radius:15px;
  border-bottom-right-radius:15px;
}
.open-claims-table tbody tr:hover td{
  background:#fbfefd;
}
.open-claims-member{
  display:grid;
  gap:3px;
}
.open-claims-member strong{
  color:#193a2b;
  font-size:15px;
}
.open-claims-member small{
  color:#718178;
  font-size:12px;
}
.open-claims-year{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#f5faf7;
  border:1px solid #dce8e1;
  color:#345646;
  font-weight:800;
}
.open-claims-amount{
  color:#173d2b;
  font-size:15px;
}
.open-claim-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid #d7e6dd;
  background:#f6faf7;
  color:#325445;
  font-size:12px;
  font-weight:800;
  text-transform:capitalize;
}
.open-claim-status-badge.is-open,
.open-claim-status-badge.is-offen{
  background:#fff6e4;
  border-color:#f1dfa8;
  color:#8a6417;
}
.open-claim-status-badge.is-paid,
.open-claim-status-badge.is-bezahlt,
.open-claim-status-badge.is-erledigt{
  background:#e9f7ee;
  border-color:#bfe3cb;
  color:#227246;
}
.open-claim-status-badge.is-cancelled,
.open-claim-status-badge.is-storniert{
  background:#f9ecec;
  border-color:#e8c8c8;
  color:#9e4040;
}
.open-claims-empty{
  padding:18px;
  text-align:center;
  color:#6f7e75;
  border:1px dashed #d6e5dc;
  border-radius:14px;
  background:#f9fcfa;
}

@media(max-width:760px){
  .modern-open-claims > summary{
    padding:11px 13px;
  }
  .open-claims-head{
    flex-direction:column;
    align-items:flex-start;
    padding:0 0 12px;
  }
  .open-claims-table,
  .open-claims-table tbody{
    display:block;
    width:100%;
  }
  .open-claims-table thead{
    display:none;
  }
  .open-claims-table tbody tr{
    display:block;
    margin:0 0 12px;
  }
  .open-claims-table tbody td{
    display:block;
    border-left:1px solid #e4ece7!important;
    border-right:1px solid #e4ece7!important;
    border-radius:0!important;
    padding:10px 12px!important;
  }
  .open-claims-table tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#758379;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  .open-claims-table tbody tr td:first-child{
    border-top-left-radius:15px!important;
    border-top-right-radius:15px!important;
  }
  .open-claims-table tbody tr td:last-child{
    border-bottom-left-radius:15px!important;
    border-bottom-right-radius:15px!important;
  }
  .open-claims-empty-row td::before{
    display:none!important;
  }
}

/* 2.5.23 – Beiträge & Rechnungen: separate Inhaltsbereiche */
.finance-page-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 16px;padding:8px;background:#f0f6f2;border:1px solid #d9e7de;border-radius:16px}
.finance-page-tab{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#355446;font-size:13px;font-weight:750;cursor:pointer;white-space:normal;text-align:left}
.finance-page-tab:hover{background:#fff;border-color:#d6e4db}
.finance-page-tab.is-active,.finance-page-tab[aria-selected="true"]{background:#197a4d;color:#fff;border-color:#197a4d;box-shadow:0 3px 9px rgba(20,80,45,.13)}
.finance-page-tab span{padding:2px 7px;border-radius:999px;background:rgba(40,95,62,.09);font-size:11px}
.finance-page-tab.is-active span{background:rgba(255,255,255,.2)}
.finance-page-panel[hidden]{display:none!important}
.finance-page-panel{min-width:0}
@media(max-width:700px){.finance-page-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-page-tab{justify-content:center;padding:9px 7px;font-size:12px}}
@media(max-width:420px){.finance-page-tabs{grid-template-columns:1fr}}

/* 2.5.106 – Überfällige Rechnungen direkt in Beiträge & Rechnungen erkennen */
.finance-page-tab .finance-tab-overdue{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#fbe5e5;color:#9a2929;font-size:10px;font-weight:850;line-height:1.2}
.finance-page-tab.is-active .finance-tab-overdue{background:#fff;color:#9a2929}
.finance-invoice-overdue td{background:#fff7f7!important;border-bottom-color:#efd7d7!important}
.finance-invoice-overdue:hover td{background:#fff0f0!important}
.finance-due-date{display:block;white-space:nowrap}.finance-due-date.is-overdue{color:#a22d2d;font-weight:850}
.finance-overdue-note{display:block;margin-top:3px;color:#a22d2d;font-size:10px;font-weight:750;white-space:nowrap}
.status-badge.overdue{background:#fbe5e5!important;color:#9a2929!important;border:1px solid #efcaca!important}
.finance-overdue-substate{display:block;margin-top:4px;color:#8b5b5b;font-size:10px;font-weight:700}

/* 2.5.108 - Eigenständiges SVHMANAGER-Server-Update */
.server-update-content{display:grid;gap:14px;min-width:0}
.server-update-hero{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(135deg,#f2faf5,#fff);border-color:#bdddc9}
.server-update-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#198754;color:#fff;font-size:29px;font-weight:900}
.server-update-hero>div:nth-child(2){display:flex;flex-direction:column;gap:2px}.server-update-hero>div:nth-child(2)>span{color:#718278;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.server-update-hero strong{color:#173d2c;font-size:19px}.server-update-hero small{color:#60756a;font-size:11px}
.server-update-server-state{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.server-update-server-state.ready{color:#176b43;background:#e9f6ed;border-color:#bee0ca}.server-update-server-state.missing{color:#8a6110;background:#fff7df;border-color:#ead497}
.server-update-status-card{padding:18px}.server-update-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.server-update-kicker{color:#718278;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.server-update-status-head h2{margin:2px 0 0;color:#173d2c;font-size:18px}.server-update-state-badge{padding:5px 8px;border-radius:999px;background:#edf3ef;color:#52685c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.server-update-status-card[data-state="success"] .server-update-state-badge{color:#176b43;background:#e6f5eb}.server-update-status-card[data-state="failed"] .server-update-state-badge,.server-update-status-card[data-state="rolled_back"] .server-update-state-badge{color:#982f2f;background:#fbe6e6}.server-update-status-card>p{margin:10px 0;color:#53695e;font-size:12px}
.server-update-progress{height:7px;overflow:hidden;border-radius:999px;background:#e8efeb}.server-update-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1b7f50,#38a66f);transition:width .35s ease}.server-update-status-card[data-state="failed"] .server-update-progress>span,.server-update-status-card[data-state="rolled_back"] .server-update-progress>span{background:#c74a4a}
.server-update-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0}.server-update-facts>div{min-width:0;padding:9px 10px;background:#f6f9f7;border:1px solid #e3ebe6;border-radius:8px}.server-update-facts dt{color:#718278;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.server-update-facts dd{margin:3px 0 0;overflow:hidden;color:#2e4c3d;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.server-update-upload-card{padding:18px}.server-update-section-head h2,.server-update-safety h2{margin:0;color:#173d2c;font-size:17px}.server-update-section-head p{margin:4px 0 0;color:#687c71;font-size:11px}.server-update-form{display:grid;gap:12px;margin-top:14px}.server-update-file{display:grid;gap:6px;padding:14px;border:1px dashed #9fc8af;border-radius:10px;background:#f6fbf8;color:#2d4c3c;font-size:12px;font-weight:800}.server-update-file input{padding:8px;background:#fff}.server-update-file small{color:#6c7f75;font-size:10px;font-weight:500}.server-update-confirm{display:flex;align-items:flex-start;gap:9px;color:#51685c;font-size:11px}.server-update-confirm input{width:17px;height:17px;flex:0 0 17px;accent-color:#198754}.server-update-form button{justify-self:start}
.server-update-safety{padding:18px}.server-update-safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.server-update-safety-grid>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:1px 9px;align-items:center;padding:11px;background:#f6f9f7;border:1px solid #e1eae4;border-radius:9px}.server-update-safety-grid b{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#dff0e5;color:#176b43;font-size:12px}.server-update-safety-grid strong{color:#294638;font-size:11px}.server-update-safety-grid span{color:#6b7d73;font-size:9px}
@media(max-width:900px){.server-update-hero{grid-template-columns:46px minmax(0,1fr)}.server-update-icon{width:46px;height:46px}.server-update-server-state{grid-column:1/-1;justify-self:start}.server-update-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.server-update-facts,.server-update-safety-grid{grid-template-columns:1fr}.server-update-status-head{align-items:flex-start;flex-direction:column}}

/* Dashboard refresh 2.5.25, scoped to dashboard only. */
.dashboard-modern-head{padding:20px 22px;margin-bottom:17px;background:linear-gradient(110deg,#eaf5ed,#f8fcfa 68%);border:1px solid #d5e8db;border-radius:19px;align-items:center;gap:16px;}
.dashboard-modern-head h1{font-size:clamp(25px,2.5vw,34px);letter-spacing:-.035em;margin:5px 0;}
.dashboard-modern-head .page-actions{display:flex;gap:8px;flex-wrap:wrap;}
.dashboard-modern-head .page-actions a{border-radius:10px;min-height:38px;display:inline-flex;align-items:center;}
.dashboard-modern-kpis{gap:14px!important;}
.dashboard-modern-kpis .kpi-card{position:relative;overflow:hidden;padding:20px!important;border-radius:17px!important;min-height:124px;box-shadow:0 8px 20px rgba(24,65,41,.045)!important;gap:7px;}
.dashboard-modern-kpis .kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#32805a;}
.dashboard-modern-kpis .kpi-card:nth-child(2):before{background:#258a59;}
.dashboard-modern-kpis .kpi-card:nth-child(3):before{background:#627b93;}
.dashboard-modern-kpis .kpi-card:nth-child(4):before{background:#bf9041;}
.dashboard-modern-kpis .kpi-card strong{font-size:clamp(29px,3vw,38px)!important;color:#193c2b;}
.dashboard-modern-kpis .kpi-label{font-size:12px!important;font-weight:800;letter-spacing:.07em;}
.dashboard-modern-finance{gap:14px!important;margin:15px 0!important;}
.dashboard-modern-finance a{min-width:0;border:1px solid #d7e9dd;border-radius:14px!important;padding:17px 20px!important;box-shadow:0 4px 14px rgba(24,65,41,.035);background:#fff!important;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.dashboard-modern-finance a strong{font-size:19px;color:#185a3b;white-space:nowrap;}
.dashboard-modern-grid{gap:16px!important;align-items:start;}
.dashboard-modern-panel{overflow:hidden;border:1px solid #dae8df!important;border-radius:18px!important;box-shadow:0 8px 25px rgba(24,65,41,.045)!important;}
.dashboard-modern-panel .panel-head{padding:20px 22px!important;background:linear-gradient(180deg,#fff,#f8fbf9);gap:12px;}
.dashboard-modern-panel .panel-head h2{font-size:18px!important;color:#173c2a;}
.dashboard-modern-panel .panel-head a{white-space:nowrap;color:#167c4a;}
.dashboard-modern-panel .list-clean>a{min-height:61px;padding:10px 18px;transition:background .15s;}
.dashboard-modern-panel .list-clean>a:hover{background:#f0f8f3;}
@media(max-width:950px){.dashboard-modern-head{align-items:flex-start;flex-direction:column;padding:17px}.dashboard-modern-finance{display:grid!important;grid-template-columns:1fr!important}.dashboard-modern-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.dashboard-modern-kpis{grid-template-columns:1fr!important}.dashboard-modern-panel .panel-head{flex-wrap:wrap}.dashboard-modern-head .page-actions{width:100%}.dashboard-modern-finance a{flex-wrap:wrap}}

/* Dashboard 2.5.26 */
.dashboard-settings{margin:0 0 18px;padding:16px 20px;border-radius:16px}
.dashboard-settings summary{cursor:pointer;font-weight:800;color:#244d39}
.dashboard-settings-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:16px 0}
.dashboard-settings-grid label,.dashboard-pdf-options label{display:grid;gap:6px;font-size:12px;font-weight:750;min-width:130px}
.dashboard-settings-grid select,.dashboard-pdf-options select{min-height:38px;border-radius:9px;border:1px solid #cbded2;background:white;padding:6px}
.dashboard-settings-grid .dashboard-setting-check{display:flex;align-items:center;gap:6px;min-width:0}
.dashboard-settings-grid .dashboard-setting-check input{width:16px;height:16px}
.dashboard-pdf-options{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 16px 14px;padding:12px;border:1px solid #dce8e0;border-radius:12px;background:#f5faf7}
.dashboard-pdf-options .btn{min-height:38px}
.dashboard-modern-grid .panel{min-width:0}
.dashboard-modern-grid .list-clean a{min-height:64px;gap:12px}
.dashboard-modern-grid .list-clean a>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.dashboard-settings-grid,.dashboard-pdf-options{display:grid;grid-template-columns:1fr}.dashboard-pdf-options{margin:0 10px 10px}.dashboard-settings-grid label{min-width:0}}

/* 2.5.27: Dashboard-Baukasten. Dense packing avoids tall empty rows. */
.dashboard-builder{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start;grid-auto-flow:row dense}
.dashboard-builder>.dashboard-widget{grid-column:span var(--dashboard-span,6);min-width:0}
.dashboard-builder>.dashboard-widget-hidden{display:none!important}
.dashboard-builder .dashboard-modern-grid{display:contents}
.dashboard-builder .dashboard-modern-finance{margin:0!important;min-width:0}
.dashboard-builder .dashboard-modern-kpis{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-builder .dashboard-widget[data-size="6"] .dashboard-modern-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-builder .dashboard-widget[data-size="6"] .dashboard-modern-finance{grid-template-columns:1fr!important}
.dashboard-builder .dashboard-widget[data-size="4"] .dashboard-modern-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-builder .dashboard-widget[data-size="4"] .dashboard-modern-finance{grid-template-columns:1fr!important}
.dashboard-builder .dashboard-widget-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px;background:#eaf3ec;border:1px solid #c6dfcf;border-radius:12px 12px 0 0;font-size:11px}
.dashboard-builder .dashboard-widget-controls[hidden]{display:none!important}
.dashboard-widget-controls>span:first-child{font-weight:800;margin-right:auto}
.dashboard-widget-controls button{padding:5px 8px;border-radius:7px;border:1px solid #bdd6c7;background:#fff;color:#244c35;cursor:pointer;font:inherit;font-weight:700}
.dashboard-drag-handle{cursor:grab;touch-action:none;user-select:none;background:#d9e9dd;padding:7px;border-radius:7px}
.dashboard-is-editing .dashboard-widget{outline:2px dashed #a0cbb1;outline-offset:2px;border-radius:12px}
.dashboard-dragging{opacity:.52}
.dashboard-builder-settings{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:17px;margin-bottom:16px;background:#eef7f0;border:1px solid #c8dfcf;border-radius:15px}
.dashboard-builder-settings[hidden]{display:none!important}
.dashboard-builder-settings p{margin:5px 0 0;color:#54705d;font-size:13px}
.dashboard-builder-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1200px){.dashboard-builder>.dashboard-widget{grid-column:span 12!important}.dashboard-builder .dashboard-modern-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-builder .dashboard-modern-finance{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.dashboard-builder .dashboard-modern-kpis,.dashboard-builder .dashboard-modern-finance{grid-template-columns:1fr!important}.dashboard-builder-settings{align-items:stretch}.dashboard-builder-actions .btn{flex:1 1 100%}}

/* 2.5.30: Gruppenüberschriften und eindeutig lesbare Dashboard-Listen */
.dashboard-list-group{padding:11px 17px!important;background:#eaf4ee!important;color:#20583b!important;font-size:13px!important;font-weight:850!important;border-top:1px solid #d3e6d9!important;border-bottom:1px solid #d3e6d9!important;letter-spacing:.015em}
.dashboard-list-sort{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;background:#f8fbf9;border-bottom:1px solid #e4ebe6}
.dashboard-list-sort label{font-size:12px;font-weight:800;color:#304d3d}
.dashboard-list-sort select{min-height:35px;max-width:250px;width:auto;border-radius:9px}
.dashboard-modern-panel .panel-head h2{font-size:19px!important;font-weight:850!important;color:#173b2a!important}
.dashboard-modern-panel .panel-head p{font-size:12px!important;color:#586f61!important}
.dashboard-modern-panel .list-clean a strong{font-size:13px!important;color:#193d2a!important}
.dashboard-modern-panel .list-clean a small{font-size:11px!important;color:#50695a!important}
.dashboard-modern-panel .date-badge{min-width:52px!important}

/* 2.5.31: Viertelbreite im Dashboard-Baukasten */
.dashboard-builder .dashboard-widget[data-size="3"] .dashboard-modern-kpis,.dashboard-builder .dashboard-widget[data-size="3"] .dashboard-modern-finance{grid-template-columns:1fr!important}
.dashboard-builder .dashboard-widget[data-size="3"] .list-clean a{gap:7px;padding-left:9px;padding-right:9px}
.dashboard-builder .dashboard-widget[data-size="3"] .date-badge{flex-shrink:0}
.dashboard-builder .dashboard-widget[data-size="3"] .panel-head{flex-wrap:wrap}
@media(min-width:901px) and (max-width:1200px){.dashboard-builder>.dashboard-widget{grid-column:span min(var(--dashboard-span,6),6)!important}}

/* SVHMANAGER 2.5.32: Spaltenauswahl vor dem fixierten Tabellenkopf anzeigen.
   Die Toolbar bildet einen eigenen Stapelkontext oberhalb der Tabelle;
   Inhalt, Größe und Ankerposition des Dropdowns bleiben unverändert. */
.member-toolbar.member-toolbar {
  position: relative;
  z-index: 110;
  overflow: visible;
}
.member-toolbar #columnDropdown {
  position: relative;
  z-index: 111;
}
.member-toolbar #columnPanel {
  z-index: 112;
}


/* SVHMANAGER 2.5.33 – Dokumente moderner mit Vorschau */
.document-page{
  display:grid;
  gap:18px;
}
.document-page-header{
  margin-bottom:0;
}
.document-toolbar{
  border-radius:18px!important;
  border:1px solid #d9e6de!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%)!important;
  box-shadow:0 10px 30px rgba(20,43,31,.04)!important;
}
.document-toolbar-main{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.document-search{
  display:grid;
  gap:6px;
  min-width:min(100%, 460px);
  flex:1 1 420px;
}
.document-search > span{
  font-size:12px;
  font-weight:800;
  color:#4b6357;
}
.document-search input{
  min-height:44px;
}
.document-toolbar-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.document-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#f2f8f4;
  border:1px solid #d8e6dd;
  color:#355347;
  font-size:12px;
  font-weight:750;
}
.document-card-list{
  display:grid;
  gap:14px;
}
.document-card{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border-radius:18px!important;
  border:1px solid #d9e6de!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
  box-shadow:0 10px 28px rgba(20,43,31,.04)!important;
}
.document-card-preview{
  display:flex;
  align-items:center;
  justify-content:center;
}
.document-preview-link{
  display:block;
  width:112px;
  height:112px;
  border-radius:16px;
  overflow:hidden;
  background:#eef5f0;
  border:1px solid #dae7df;
}
.document-preview-link img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.document-file-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  width:112px;
  height:112px;
  border-radius:16px;
  background:linear-gradient(180deg,#f5faf7 0%,#edf4ef 100%);
  border:1px solid #dce8e1;
  color:#284839;
  font-size:22px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
}
.document-file-badge-pdf{
  background:linear-gradient(180deg,#fff4f4 0%,#fde9e9 100%);
  border-color:#efcaca;
  color:#a13838;
}
.document-file-badge-text{
  background:linear-gradient(180deg,#f4f7ff 0%,#e9f0fd 100%);
  border-color:#cfdaef;
  color:#31507e;
}
.document-card-body{
  min-width:0;
  display:grid;
  gap:14px;
}
.document-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.document-card-title{
  font-size:20px;
  font-weight:850;
  color:#143a2a;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.document-card-title:hover{
  text-decoration:underline;
}
.document-ext{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eff6f2;
  border:1px solid #d8e6dd;
  color:#557165;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.document-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 14px;
}
.document-meta-item{
  min-width:0;
  display:grid;
  gap:4px;
}
.document-meta-item span{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#738177;
}
.document-meta-item strong{
  color:#264738;
  font-size:14px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.document-card-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:stretch;
}
.document-card-actions .btn,
.document-card-actions form,
.document-card-actions form .btn{
  width:100%;
}
.document-empty-state{
  border-radius:18px!important;
  border:1px dashed #d6e4db!important;
  background:#fbfdfc!important;
  text-align:center;
}
.document-empty-state h3{
  margin:0 0 6px;
  font-size:24px;
}

@media(max-width:1100px){
  .document-card{
    grid-template-columns:96px minmax(0,1fr);
  }
  .document-card-actions{
    grid-column:1 / -1;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .document-card-actions .btn,
  .document-card-actions form{
    width:auto;
  }
  .document-card-actions form .btn{
    width:auto;
  }
  .document-preview-link,
  .document-file-badge{
    width:88px;
    height:88px;
  }
  .document-meta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .document-card{
    grid-template-columns:1fr;
  }
  .document-card-preview{
    justify-content:flex-start;
  }
  .document-preview-link,
  .document-file-badge{
    width:84px;
    height:84px;
  }
  .document-meta-grid{
    grid-template-columns:1fr;
  }
  .document-card-title{
    font-size:17px;
  }
}

/* Dokumentenverwaltung 2.5.34 */
.document-category-filter{display:grid;gap:6px;font-size:12px;font-weight:800;color:#4b6357;min-width:180px}.document-category-filter select{min-height:44px}.document-bulk-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-radius:14px!important}.document-bulk-bar label{display:flex;align-items:center;gap:8px;font-weight:700}.document-select{position:absolute;top:5px;left:5px;background:white;border-radius:7px;padding:5px;z-index:2}.document-card-preview{position:relative}.document-card[hidden],#documentSearchEmpty[hidden]{display:none!important}.document-modal{width:min(1100px,94vw);height:min(850px,90vh);max-width:none;max-height:none;border:1px solid #d5e4db;border-radius:18px;padding:0;box-shadow:0 28px 90px #10271c55}.document-modal::backdrop{background:#0e2019aa}.document-modal-header,.document-modal-footer{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.document-modal-header{border-bottom:1px solid #d8e6dd}.document-modal-footer{border-top:1px solid #d8e6dd}.document-modal-body{height:calc(100% - 128px);display:flex;align-items:center;justify-content:center;background:#eff4f1;overflow:auto}.document-modal-body img{max-width:100%;max-height:100%;object-fit:contain}.document-modal-body iframe{width:100%;height:100%;border:0;background:white}@media(max-width:700px){.document-bulk-bar{align-items:stretch}.document-bulk-bar button{flex:1 1 auto}}

/* 2.5.35 Mitgliedsdokumente */
.member-docs-panel{display:grid;gap:18px}.member-docs-tools,.member-docs-bulk,.member-doc-upload-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.member-docs-tools label{flex:1 1 240px;display:grid;gap:6px;font-weight:750}.member-docs-bulk{align-items:center;padding:12px;border-radius:12px;background:#f2f8f4}.member-docs-bulk strong{margin-right:auto}.member-docs-list{display:grid;gap:10px}.member-doc-item{display:grid;grid-template-columns:26px 68px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #d9e8df;border-radius:15px;background:white}.member-doc-thumb{width:68px;height:68px;display:grid;place-items:center;background:#edf6f0;border-radius:12px;overflow:hidden;font-weight:900;color:#24563b}.member-doc-thumb img{width:100%;height:100%;object-fit:cover}.member-doc-info{display:grid;gap:5px;min-width:0}.member-doc-info strong{overflow-wrap:anywhere;font-size:16px}.member-doc-info span{font-size:13px;color:#64766a}.member-doc-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.member-doc-actions form{margin:0}.member-doc-upload{display:grid;gap:14px}.member-drop-zone{border:2px dashed #91bca3;background:#f4fbf6;border-radius:16px;padding:26px;display:grid;justify-items:center;gap:8px;cursor:pointer;text-align:center}.member-drop-zone.drag-active{background:#dff5e6;border-color:#19824c}.member-drop-zone input[type=file]{max-width:100%;cursor:pointer}.member-doc-upload-fields label{flex:1 1 240px;display:grid;gap:5px}.member-doc-modal[hidden]{display:none!important}.member-doc-modal{position:fixed;inset:0;z-index:99999;background:rgba(15,35,24,.68);display:grid;place-items:center;padding:24px}.member-doc-modal-box{background:white;width:min(1100px,100%);height:min(850px,92vh);display:flex;flex-direction:column;border-radius:17px;overflow:hidden}.member-doc-modal-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid #dae7dc}.member-doc-modal-head strong{overflow-wrap:anywhere}.member-doc-modal-body{flex:1;min-height:0;display:grid;place-items:center;background:#f4f7f5}.member-doc-modal-body img{max-width:100%;max-height:100%;object-fit:contain}.member-doc-modal-body iframe{height:100%;width:100%;border:0}.member-doc-modal-open{overflow:hidden}@media(max-width:970px){.member-doc-item{grid-template-columns:26px 68px minmax(0,1fr)}.member-doc-actions{grid-column:2/-1}}@media(max-width:580px){.member-doc-item{grid-template-columns:25px minmax(0,1fr)}.member-doc-thumb{display:none}.member-doc-actions{grid-column:1/-1}.member-doc-modal{padding:8px}}

/* 2.5.36: Dokumentkacheln im Profil zeigen beim Klick Vorschau */
.member-doc-thumb-button{width:100%;height:100%;display:grid;place-items:center;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;border-radius:inherit;overflow:hidden}.member-doc-thumb-button img{width:100%;height:100%;object-fit:cover}.member-doc-thumb-button:focus-visible{outline:3px solid #1c8050;outline-offset:2px}.member-doc-thumb-button:hover{background:#dff1e5}

/* 2.5.39: Document folders */
.document-folders-panel{padding:22px!important;border-radius:18px!important;display:grid;gap:16px}
.document-folders-panel h3{margin:0;font-size:18px}
.document-crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-weight:750}
.document-folder-head,.document-folder-management,.document-folder-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.document-folder-head{justify-content:space-between}
.document-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.document-folder-tile{border:1px solid #d8e5dd;background:#f7faf8;border-radius:12px;padding:15px;color:#214a35;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.document-folder-tile:hover{background:#eaf5ee;border-color:#8fbba2}
.document-folder-upload{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#f6faf7;border:1px dashed #a5c9b1;border-radius:12px;padding:14px}
.document-upload-drop{min-width:230px;flex:1 1 230px;display:grid;gap:8px;font-weight:750;cursor:pointer}
.document-folder-upload label:not(.document-upload-drop){display:grid;gap:5px}
.document-move-form,.document-visibility-form{display:grid;gap:5px}
.document-move-form select{max-width:170px}
.member-folder-shortcut{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}

/* 2.5.40: compact Explorer layout for documents */
.document-explorer{display:grid;grid-template-columns:minmax(215px,260px) minmax(0,1fr);gap:16px;align-items:start}
.document-explorer-sidebar{position:sticky;top:14px;padding:12px!important;border-radius:16px!important;min-width:0;max-height:calc(100vh - 34px);display:flex;flex-direction:column;overflow:hidden}
.document-explorer-sidebar-title{font-weight:850;font-size:16px;display:flex;justify-content:space-between;align-items:center;padding:8px 10px 12px;border-bottom:1px solid #dce9e0}
.document-explorer-count{font-size:12px;color:#527162;background:#eaf5ee;border-radius:20px;padding:2px 8px}
.document-explorer-tree{overflow:auto;min-height:0;padding:9px 1px;display:flex;flex-direction:column;gap:3px;scrollbar-width:thin}
.document-tree-link{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;min-width:0;font-size:13px;font-weight:650;text-decoration:none;color:#244b39;border:1px solid transparent}
.document-tree-link span{overflow-wrap:anywhere}.document-tree-link:hover{background:#eff7f2}.document-tree-link.is-active{background:#e5f5eb;border-color:#bfdec9;color:#126238}
.document-tree-section{font-size:11px;font-weight:850;text-transform:uppercase;color:#738478;letter-spacing:.05em;padding:14px 10px 5px}
.document-tree-child{padding-left:23px}.document-tree-parent,.document-tree-back{color:#517362}.document-tree-current{padding:10px 12px;font-weight:850;background:#e5f5eb;border-radius:9px;overflow-wrap:anywhere}
.document-explorer-content{min-width:0;display:grid;gap:16px}.document-explorer-content .document-toolbar,.document-explorer-content .document-bulk-bar,.document-explorer-content .document-card-list{min-width:0}
.document-explorer-folder-actions{display:grid;gap:14px;border-radius:16px!important;padding:18px!important}.document-explorer-folder-actions .document-folder-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.document-explorer-folder-actions .document-folder-head h3{margin:0}
.document-explorer-hint{padding:12px 16px;background:#eaf5ee;border:1px solid #d8e9dd;border-radius:12px;color:#3e614f;font-size:13px}
@media(max-width:850px){.document-explorer{grid-template-columns:1fr}.document-explorer-sidebar{position:static;max-height:280px}.document-explorer-tree{max-height:210px}}

/* 2.5.41: navigierbarer Ordnerbaum mit frei erstellbaren Ordnerebenen */
.document-tree-branch{min-width:0}.document-tree-branch>summary{display:flex;align-items:center;list-style:none;cursor:pointer;gap:1px}.document-tree-branch>summary::-webkit-details-marker{display:none}.document-tree-branch>summary .document-tree-link{flex:1;min-width:0}.document-tree-chevron{font-size:12px;color:#526a5c;flex:0 0 13px;transition:transform .15s}.document-tree-branch[open]>summary>.document-tree-chevron{transform:rotate(90deg)}.document-tree-nested{margin-left:12px;border-left:1px solid #d5e7da;padding-left:6px;display:grid;gap:2px}.document-tree-actions{display:grid;gap:10px;padding:14px!important}.document-tree-actions h3{font-size:16px;margin:0}.document-tree-actions form,.document-tree-actions-secondary{display:flex;gap:9px;flex-wrap:wrap;align-items:end}.document-tree-actions input,.document-tree-actions select{max-width:100%;min-width:160px;flex:1}.document-tree-actions label{display:grid;gap:5px}.document-tree-folder-info{padding:16px!important}.document-tree-folder-info h3{margin:0 0 8px}.document-tree-folder-info p{margin:0;color:#56705f}.document-tree-branch summary a{word-break:break-word}

/* Folder multi-selection and contextual clipboard. */
.folder-clipboard-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 8px;border-bottom:1px solid #dbe8e1}.folder-clipboard-bar strong{width:100%;font-size:12px}.folder-clipboard-bar .btn{font-size:11px;padding:6px 8px}.folder-clipboard-bar small{font-size:11px;line-height:1.4}.folder-tree-check{width:15px;height:15px;flex-shrink:0;margin:0 4px;accent-color:#13804c}.document-tree-branch summary{display:flex;align-items:center}.folder-context-menu{position:fixed;z-index:99999;min-width:175px;padding:6px;background:#fff;border:1px solid #cadcd0;border-radius:10px;box-shadow:0 14px 40px #12352435}.folder-context-menu[hidden]{display:none}.folder-context-menu button{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:transparent;padding:9px 12px;color:#1b4935;font-weight:650}.folder-context-menu button:hover{background:#e6f5ee}

/* 2.5.43 compact explorer – folder tree remains permanently visible */
.document-explorer{grid-template-columns:minmax(235px,290px) minmax(0,1fr);align-items:start;gap:12px}
.document-explorer-content{gap:10px}
.document-explorer-sidebar{max-height:calc(100vh - 40px)}
.folder-clipboard-panel{padding:7px 2px;border-bottom:1px solid #dfebe3}
.folder-clipboard-panel>summary,.document-tree-actions>summary,.document-folder-tools>summary{cursor:pointer;list-style:none;color:#244c37;font-weight:800;font-size:13px;padding:9px 11px;border-radius:9px;background:#edf7f1}
.folder-clipboard-panel>summary::-webkit-details-marker,.document-tree-actions>summary::-webkit-details-marker,.document-folder-tools>summary::-webkit-details-marker{display:none}
.folder-clipboard-bar{padding:10px 4px!important;display:flex;flex-wrap:wrap;gap:6px}
.folder-clipboard-bar small{flex-basis:100%}
.document-tree-actions{padding:7px!important;gap:0!important}.document-action-panel{padding:12px 8px;display:grid;gap:12px}.document-action-panel form{margin:0}
.document-explorer-folder-actions{padding:8px 10px!important;gap:0!important}
.document-workspace-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.document-workspace-topbar strong{font-size:15px}.document-workspace-topbar .btn{font-size:12px;padding:7px 11px}
.document-folder-tools{margin-top:3px}.document-folder-tools-inner{padding:12px 4px;display:grid;gap:12px}
.document-explorer-hint{padding:8px 12px;font-size:12px}
.document-toolbar,.document-bulk-bar{padding:10px 13px!important;border-radius:12px!important}.document-toolbar-main{gap:10px}.document-toolbar-badges{display:none}.document-search input{min-height:35px}.document-bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.document-card-list{gap:6px!important}.document-card{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:12px!important;padding:8px 12px!important;border-radius:12px!important;box-shadow:none!important;align-items:center!important}.document-card-preview{position:relative}.document-card-preview .document-preview-link,.document-card-preview .document-file-badge{width:44px!important;height:44px!important;border-radius:8px!important;font-size:11px!important}.document-card-preview .document-select{position:absolute;z-index:2;left:-7px;top:-7px}.document-card-body{gap:5px!important}.document-card-title{font-size:14px!important;line-height:1.35}.document-card-title-row{justify-content:flex-start;align-items:center;gap:9px}.document-ext{font-size:10px;min-height:20px;padding:0 6px}.document-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important}.document-meta-item{gap:1px!important}.document-meta-item span{font-size:9px!important}.document-meta-item strong{font-size:11px!important;font-weight:600}.document-card-actions{grid-column:auto!important;display:block!important;position:relative}.document-card-menu>summary{cursor:pointer;list-style:none;white-space:nowrap;padding:7px 10px!important;font-size:12px!important}.document-card-menu>summary::-webkit-details-marker{display:none}.document-card-menu[open]{z-index:25}.document-card-menu-content{position:absolute;z-index:26;right:0;top:calc(100% + 4px);width:min(240px,80vw);max-height:330px;overflow:auto;padding:10px;display:grid;gap:7px;border-radius:12px;background:#fff;border:1px solid #d6e5dc;box-shadow:0 14px 32px rgba(10,40,20,.16)}.document-card-menu-content form,.document-card-menu-content .btn{width:100%!important}.document-card-menu-content form{display:grid;gap:5px}.document-card-menu-content select{max-width:100%}.document-card-list{overflow:visible!important}
@media(max-width:1000px){.document-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.document-explorer{grid-template-columns:1fr}.document-explorer-sidebar{position:static;max-height:300px}.document-card{grid-template-columns:44px minmax(0,1fr) auto!important}.document-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-meta-item:nth-child(4){display:none}}

/* 2.5.44 Explorer command bar & user-selectable document views */
.document-page>.document-commandbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px!important;position:relative;z-index:30;border-radius:13px!important}
.document-commandgroup{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.document-commandgroup .btn{padding:8px 10px;font-size:12px}.document-commandgroup label{font-size:12px;font-weight:800}.document-commandgroup select{min-width:110px}
.document-card-list[data-view="tiles"]{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px!important}
.document-card-list[data-view="tiles"] .document-card{display:flex!important;flex-direction:column;align-items:stretch!important;padding:14px!important;min-width:0;gap:11px!important}
.document-card-list[data-view="tiles"] .document-card-preview{justify-content:center;min-height:105px}
.document-card-list[data-view="tiles"] .document-preview-link,.document-card-list[data-view="tiles"] .document-file-badge{width:100px!important;height:100px!important;font-size:20px!important}
.document-card-list[data-view="tiles"] .document-card-body{width:100%}.document-card-list[data-view="tiles"] .document-meta-grid{grid-template-columns:1fr!important}.document-card-list[data-view="tiles"] .document-meta-item:nth-child(n+3){display:none}
.document-card-list[data-view="tiles"] .document-card-actions{align-self:flex-end}
.document-card-list[data-view="list"] .document-meta-grid{display:none!important}
.document-card-list[data-view="list"] .document-card{grid-template-columns:44px minmax(0,1fr) auto!important;padding:6px 10px!important}
.document-card-list[data-view="list"] .document-card-preview .document-preview-link,.document-card-list[data-view="list"] .document-card-preview .document-file-badge{width:35px!important;height:35px!important}
.document-card-list[data-view="details"] .document-meta-grid{display:grid}
.document-file-context-note{color:#587568;font-size:12px}
@media(max-width:700px){.document-page>.document-commandbar{position:static}.document-commandgroup .btn{font-size:11px;padding:7px}}

/* 2.5.45: zentrale Windows-artige Werkzeugleiste mit aufklappbaren Menüs */
.document-toolbar-menu{position:relative;display:inline-flex}
.document-tools-dropdown{position:absolute;z-index:120;top:calc(100% + 6px);left:0;width:min(360px,92vw);padding:7px;background:#fff;border:1px solid #ceded4;border-radius:12px;box-shadow:0 18px 35px rgba(9,42,25,.18)}
.document-tools-dropdown[hidden],.document-top-panel[hidden]{display:none!important}
.document-tools-entry{display:block;width:100%;padding:12px 10px;text-align:left;border:0;background:transparent;border-radius:7px;color:#153f2e;font-size:13px;font-weight:650;cursor:pointer}
.document-tools-entry:hover,.document-tools-entry:focus-visible{background:#eaf6ee}
.document-tools-entry:disabled{opacity:.5;cursor:not-allowed}
.document-top-panels{display:block}
.document-top-panel{margin:0 0 10px}
.document-top-panel>.card{margin:0!important}
.document-top-panel .document-tree-actions,.document-top-panel .document-explorer-folder-actions,.document-top-panel .document-toolbar{padding:12px!important;border-radius:12px!important}
.document-top-panel .document-explorer-folder-actions .document-workspace-topbar{display:none}
.document-top-panel .document-folder-tools>summary{font-weight:700}
.document-top-panel .document-toolbar-badges{display:none!important}
.document-page>.document-commandbar{z-index:80}
@media(max-width:700px){.document-tools-dropdown{left:0;max-width:calc(100vw - 25px)}}

/* 2.5.47: clearly visible, non-intrusive drag targets */
.document-explorer-tree .document-tree-link[draggable="true"], .document-card[draggable="true"]{cursor:grab}
.document-explorer-tree .document-tree-link.svh-drop-target, .document-upload-drop.svh-drop-target{outline:2px dashed #24764b!important;outline-offset:2px;background:#dcf5e5!important;border-radius:7px}
.document-explorer-tree.svh-drag-active .document-tree-link[data-drop-kind]{transition:background .12s ease}

/* 2.5.48 – sichtbarerer Windows-Datei-Drop auf dem gesamten Dokumentenbereich */
.document-page{position:relative}
.svh-os-drop-indicator{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;padding:15px 24px;background:#17472f;color:white;border-radius:12px;box-shadow:0 14px 36px #0004;font-weight:750;pointer-events:none}
.svh-os-drop-indicator[hidden]{display:none!important}
.document-tree-link.svh-os-drop-target{background:#d8f5e3!important;outline:2px dashed #1d7a47;outline-offset:2px;border-radius:6px}
.document-page.svh-os-files-over .document-explorer-content{outline:2px dashed #a5d5b9;outline-offset:2px;border-radius:10px}

/* 2.5.49: Rückmeldung nach Drag-and-Drop ohne Navigation */
.svh-os-upload-result{padding:12px 16px!important;border:1px solid #94cda4!important;background:#eaf8ed!important;color:#235535!important;font-weight:700;}


/* 2.5.51 – Mitglieder-Übersicht klarer gegliedert und moderner */
.member-detail-layout #tab-overview .content-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 18px!important;
  border:1px solid #d7e5dc!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%)!important;
  border-radius:16px!important;
  box-shadow:0 8px 22px rgba(20,43,31,.05)!important;
}
.member-detail-layout #tab-overview .content-card-head h2{
  font-size:22px!important;
  margin:0!important;
}
.member-detail-layout #tab-overview .content-card-head button{
  min-width:130px;
}
.member-overview-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.member-detail-layout #tab-overview .member-overview-actions .btn{
  min-height:34px;
  padding:6px 12px;
}
.member-overview-sections.member-overview-sections-modern{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
  max-width:none;
}
.member-overview-sections-modern .member-field-section{
  border:1px solid #d8e5dd;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
  box-shadow:0 10px 28px rgba(20,43,31,.04);
  overflow:hidden;
}
.member-overview-sections-modern .member-field-heading{
  padding:15px 16px;
  background:linear-gradient(180deg,#f6fbf8 0%,#eef6f1 100%);
  border-bottom:1px solid #e0ebe4;
  align-items:flex-start;
}
.member-overview-sections-modern .member-field-step{
  width:34px;
  height:34px;
  flex-basis:34px;
  border-radius:10px;
  font-size:12px;
  box-shadow:inset 0 0 0 1px rgba(20,104,58,.05);
}
.member-overview-sections-modern .member-field-heading h3{
  font-size:17px!important;
}
.member-overview-sections-modern .member-field-heading p{
  font-size:12px;
  line-height:1.4;
  margin-top:4px;
}
.member-overview-sections-modern .member-section-fields{
  padding:16px!important;
  gap:13px 14px!important;
}
.member-overview-sections-modern .member-section-fields>label{
  display:grid;
  gap:6px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#1f3b2e;
}
.member-overview-sections-modern .member-section-fields input:not([type=checkbox]),
.member-overview-sections-modern .member-section-fields select{
  min-height:44px!important;
  border-radius:10px!important;
  border:1px solid #d7e2dc!important;
  background:#fff!important;
}
.member-overview-sections-modern .member-section-fields input:focus,
.member-overview-sections-modern .member-section-fields select:focus{
  outline:none;
  border-color:#97b8a5!important;
  box-shadow:0 0 0 3px rgba(25,135,84,.08);
}
.member-overview-sections-modern .member-field-section-personal{
  background:linear-gradient(180deg,#ffffff 0%,#fcfefd 100%);
}
.member-overview-sections-modern .member-field-section-contact{
  background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%);
}
.member-overview-sections-modern .member-field-section-membership{
  background:linear-gradient(180deg,#ffffff 0%,#f9fcfb 100%);
}
.member-overview-sections-modern .member-field-section-membership .field-hint{
  padding:2px 2px 0;
}

/* 2.5.93 – persönliche Tabellendichte */
body.ui-table-compact table.data-table:not(#membersTable) th,
body.ui-table-compact table.data-table:not(#membersTable) td{
  padding-top:7px!important;
  padding-bottom:7px!important;
  font-size:12px!important;
}
@media(max-width:1320px){
  .member-overview-sections.member-overview-sections-modern{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .member-overview-sections-modern .member-field-section-membership{
    grid-column:1 / -1;
  }
}
@media(max-width:760px){
  .member-detail-layout #tab-overview .content-card-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .member-overview-sections.member-overview-sections-modern{
    grid-template-columns:minmax(0,1fr);
  }
  .member-overview-sections-modern .member-field-section-membership{
    grid-column:auto;
  }
}

/* 2.5.52 License documents */
.license-documents-card{max-width:100%;min-width:0}.license-document-list{display:grid;gap:9px;padding:14px}.license-document-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:12px;border:1px solid #dbe9e1;border-radius:12px;background:#fafdfb}.license-document-open{min-width:0;display:flex;align-items:center;gap:12px;flex:1;text-decoration:none;color:#173d2d}.license-document-open strong{display:block;overflow-wrap:anywhere}.license-document-open small{display:block;color:#627d6b;margin-top:3px}.license-document-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:10px;background:#e9f5ec;font-size:24px}.license-document-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.license-document-actions form{margin:0}.license-upload-form{display:grid;gap:12px;padding:16px;border-top:1px solid #e1ede5}.license-upload-form>label{display:grid;gap:6px;font-weight:700}.license-drop-zone{display:grid;gap:5px;padding:22px;border:2px dashed #a7c7b2;border-radius:14px;background:#f7fbf8;cursor:pointer;text-align:center}.license-drop-zone.drag-active{border-color:#15803d;background:#e0f5e8}.license-drop-zone input{max-width:100%;margin:auto}.license-drop-zone small,.license-drop-zone span{color:#64786b}.license-upload-form>.btn{justify-self:start}@media(max-width:680px){.license-document-actions{width:100%}.license-document-item{align-items:flex-start}}

/* v2.5.53 Mitglieder-Kontextmenü */
.member-context-menu button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;color:#253c31;border-radius:7px;text-align:left;font:inherit;font-weight:650;cursor:pointer}
.member-context-menu button:hover{background:#e4f3ea;color:#176c46}
.member-context-menu .member-context-delete{color:#a33232}
.member-output-dialog{border:1px solid #d4e6dc;border-radius:16px;box-shadow:0 20px 60px #18382a44;max-width:min(470px,92vw);padding:24px}
.member-output-dialog::backdrop{background:#0b281d66}
.member-output-actions{display:grid;gap:9px;margin:16px 0}
.member-output-actions button{padding:11px 14px}


/* 2.5.55 – Mitgliederliste: Geburtstag mit Alter und sauberes horizontales Scrollen */
.member-page-header,
.member-toolbar,
.member-list-card.member-list-card-modern{
  max-width:100%;
  min-width:0;
}
.member-list-card.member-list-card-modern{
  overflow:hidden!important;
}
.member-tablewrap{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable both-edges;
}
#membersTable.member-directory-table{
  width:max-content!important;
  min-width:100%!important;
}
#membersTable.member-directory-table td[data-col="birth"]{
  white-space:nowrap;
}
.member-birth-age{
  display:inline-block;
  margin-left:4px;
  color:#5f7469;
  font-weight:700;
  font-size:12px;
}
@media(min-width:1201px){
  .member-list-card-modern{
    overflow:hidden!important;
  }
  .member-tablewrap{
    overflow-x:auto!important;
    overflow-y:visible!important;
  }
  #membersTable.member-directory-table thead th{
    top:0!important;
  }
}

/* 2.5.56: Tabellenkopf bleibt beim vertikalen und horizontalen Scrollen sichtbar.
   Beide Achsen scrollen im selben Container: sticky thead funktioniert dadurch. */
@media (min-width:1201px) {
  .member-list-card.member-list-card-modern {overflow:hidden!important;}
  .member-tablewrap {
    display:block;
    width:100%;max-width:100%;
    max-height:min(72vh,850px);
    overflow:auto!important;
    position:relative;
    overscroll-behavior:contain;
  }
  #membersTable.member-directory-table thead th {
    position:sticky!important;
    top:0!important;
    z-index:55!important;
    background:#eff6f2!important;
  }
}

/* 2.5.57 – gegliedertes, zugänglicheres Mitglieder-Kontextmenü */
.member-context-menu.member-context-menu{width:286px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow-y:auto;padding:7px;background:#fff;border:1px solid #d1e2d8;border-radius:16px;box-shadow:0 20px 55px rgba(17,45,30,.22);z-index:9999}
.member-context-header{padding:11px 12px 12px;background:linear-gradient(135deg,#eff8f2,#f8fcfa);border-radius:11px;margin-bottom:7px}
.member-context-label,.member-context-group-label{font-size:10px;letter-spacing:.1em;color:#718779;font-weight:850}
.member-context-header .member-context-title{border:0;margin:3px 0 0;padding:0;font-size:15px;color:#183e2b}
.member-context-group-label{padding:8px 12px 4px}
.member-context-menu.member-context-menu :is(a,button){display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#213c2e;font-size:13px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer}
.member-context-menu.member-context-menu :is(a,button):is(:hover,:focus-visible){background:#eaf6ee;color:#14693e;outline:0}
.member-menu-icon{width:24px;height:24px;flex:0 0 24px;border-radius:7px;display:grid;place-items:center;background:#eff5f1;color:#3b7651;font-size:17px;font-weight:800}
.member-context-menu :is(a,button)>span:nth-child(2){flex:1}
.member-context-menu kbd,.member-menu-chevron{font-size:11px;font-weight:650;color:#809488}
.member-context-separator{height:1px;margin:6px 9px;background:#e3ede6}
.member-context-menu.member-context-menu .member-context-delete{color:#a23434;background:#fff8f7}
.member-context-menu.member-context-menu .member-context-delete:hover,.member-context-menu.member-context-menu .member-context-delete:focus-visible{background:#fdeae8;color:#902929}
.member-context-delete .member-menu-icon{background:#feeae8;color:#a23434}
.member-context-footer{border-top:1px solid #e7eee9;margin-top:7px;padding:9px 12px 3px;font-size:11px;color:#83968b}

/* SVHMANAGER 2.5.58: einheitliche Kontextmenüs und Buchhaltungsspalten */
.accounting-column-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:10px 0 14px;position:relative;z-index:80}
.accounting-column-toolbar .dropdown{position:relative}
.accounting-column-toolbar .dropdown-panel{position:absolute;top:calc(100% + 5px);left:0;z-index:500;min-width:245px;max-height:65vh;overflow-y:auto;background:#fff;border:1px solid #d4e4d9;border-radius:12px;box-shadow:0 18px 36px rgba(18,49,30,.16);padding:12px}
.accounting-column-toolbar .dropdown-panel[hidden]{display:none!important}
.accounting-column-panel-floating{position:fixed!important;z-index:20000!important;min-width:245px;max-height:calc(100vh - 20px);overflow-y:auto;background:#fff;border:1px solid #d4e4d9;border-radius:12px;box-shadow:0 20px 55px rgba(18,49,30,.25);padding:14px}
.accounting-column-panel-floating[hidden]{display:none!important}
.accounting-column-popover[popover]{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%);width:min(330px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 30px));margin:0!important;padding:16px!important;overflow-y:auto;background:#fff;border:1px solid #c8ddd0;border-radius:16px;box-shadow:0 28px 80px rgba(11,42,26,.35);color:#173d2c;z-index:2147483647}
.accounting-column-popover:popover-open{display:block!important}
.accounting-column-popover::backdrop{background:rgba(14,38,25,.28)}
.accounting-column-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.accounting-column-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:#edf5f0;color:#214b36;font-size:24px;line-height:1;cursor:pointer}
.accounting-column-popover #accountingColumnChoices{display:grid;gap:8px;margin:10px 0}
.accounting-column-popover #accountingColumnChoices label{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;background:#f7faf8;font-size:13px;cursor:pointer}
.accounting-column-toolbar #accountingColumnChoices{display:grid;gap:7px;margin:10px 0}
.accounting-column-toolbar #accountingColumnChoices label{display:flex;gap:8px;align-items:center;font-size:13px}
.accounting-column-toolbar #accountingColumnStatus{padding-top:4px;font-size:12px;font-weight:700}
.accounting-table th[hidden],.accounting-table td[hidden]{display:none!important}
.accounting-table .accounting-column-hidden{display:none!important}
#accountingBookingsTable :is(th,td)[hidden]{display:none!important}
.accounting-context-menu,.payment-context-menu,.calendar-context-menu{position:fixed!important;z-index:10020!important;width:286px!important;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow-y:auto;padding:7px!important;background:#fff!important;border:1px solid #d1e2d8!important;border-radius:16px!important;box-shadow:0 20px 55px rgba(17,45,30,.22)!important}
.accounting-context-menu[hidden],.calendar-context-menu[hidden],.payment-context-menu[hidden]{display:none!important}
.accounting-context-menu :is(a,button),.calendar-context-menu button,.payment-context-menu :is(a,button){display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#213c2e;font-size:13px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer}
.accounting-context-menu :is(a,button):hover,.calendar-context-menu button:hover,.payment-context-menu :is(a,button):hover{background:#eaf6ee;color:#14693e}
.accounting-context-menu .member-context-delete,.calendar-context-menu .member-context-delete,.payment-context-menu .member-context-delete{color:#a23434!important;background:#fff8f7!important}
.payment-context-menu .payment-context-review{display:grid;gap:5px}
.payment-context-menu form button{font:inherit}

/* 2.5.59 – Suche, Sammelauswahl und gespeicherte Tabellenansichten */
.svh-global-search-top{display:flex;gap:10px;align-items:center;margin:0 0 16px;max-width:760px}
.svh-global-search-top input{flex:1;min-width:0;min-height:42px}
.svh-global-search-form{display:flex;gap:10px;align-items:center}.svh-global-search-form input{flex:1;min-width:0}
.svh-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.svh-search-grid section{padding:18px;overflow-wrap:anywhere}
.svh-global-result-summary{margin:16px 0 4px;color:#587063}.svh-search-grid .content-card h2{display:flex;align-items:center;justify-content:space-between;gap:10px}.svh-search-grid .content-card h2 span{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#e7f4eb;color:#176b43;font-size:12px}.svh-search-grid .content-card p{margin:0;border-top:1px solid #edf2ef}.svh-search-grid .content-card p:first-of-type{border-top:0}.svh-search-grid .content-card p a{display:flex;flex-direction:column;gap:3px;padding:10px 5px;color:#173d2c;text-decoration:none;border-radius:8px}.svh-search-grid .content-card p a:hover{background:#eef7f1}.svh-search-grid .content-card p a small{color:#647a6d;font-size:12px}
.svh-member-bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px!important;margin:0 0 10px}
.svh-member-views{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.svh-member-views select{max-width:210px;min-height:39px}
#membersTable .svh-selection-col{min-width:72px!important;width:72px!important;text-align:center!important;position:relative}
#membersTable .svh-selection-col input{width:18px;height:18px;cursor:pointer}
@media(max-width:1200px){#membersTable .svh-selection-col::before{content:'Auswahl';display:block;font-weight:800;font-size:11px}}

/* 2.5.60: einheitliche Mitglieder-Werkzeuge und ruhige Sammelauswahl */
.member-table-tools.member-table-tools{display:flex!important;align-items:end!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;width:100%;}
.member-table-tools .svh-member-views{display:flex;align-items:end;gap:8px;flex-wrap:wrap;order:0;margin-right:auto;min-width:0;}
.svh-views-select-label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:#627568;letter-spacing:.03em;}
.svh-views-select-label select{width:205px;max-width:100%;min-height:39px;}
.svh-views-actions{display:flex;gap:7px;align-items:center;}
.member-table-tools #columnDropdown{order:1;}
.member-table-tools #orderReset{order:2;}
.member-table-tools #densityToggle{order:3;}
.member-table-tools .btn{min-height:39px;white-space:nowrap;}
.svh-member-bulkbar.svh-member-bulkbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px!important;}
.svh-member-bulkbar>label{display:inline-flex;align-items:center;gap:9px;font-weight:750;margin:0;}
.svh-member-bulkbar #svhMemberBulkActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-left:1px solid #dbe8df;padding-left:14px;}
.svh-member-bulkbar #svhMemberBulkActions[hidden]{display:none!important;}
@media(max-width:850px){.member-table-tools .svh-member-views{width:100%;}.member-table-tools .svh-views-select-label{flex:1;}.svh-member-bulkbar #svhMemberBulkActions{border-left:0;padding-left:0;}}

/* 2.5.61: kompakte Befehlsleiste im Mitgliederbereich */
.member-commandbar{
  display:flex;align-items:center;gap:6px;min-height:48px;margin:0 0 12px;padding:6px 8px;
  color:#fff;background:linear-gradient(135deg,#198a55,#239d63);border:1px solid #16804e;
  border-radius:12px;box-shadow:0 7px 18px rgba(22,112,70,.16);position:relative;z-index:1000;
}
.member-command,.member-commandbar a.member-command{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 11px;
  color:#fff!important;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:7px;font:inherit;font-weight:750;text-decoration:none;white-space:nowrap;cursor:pointer;
}
.member-command:hover,.member-commandbar a.member-command:hover,.member-command[aria-expanded="true"]{background:rgba(255,255,255,.2);}
.member-commandbar a.member-command.member-command-primary{background:#fff!important;color:#126a42!important;border-color:#fff!important;}
.member-command-menu{position:relative;}
.member-command-panel{
  position:absolute;left:0;top:calc(100% + 7px);min-width:230px;padding:7px;background:#fff;border:1px solid #d7e5dc;
  border-radius:10px;box-shadow:0 14px 35px rgba(16,53,35,.2);z-index:1100;
}
.member-command-panel[hidden]{display:none!important;}
.member-command-panel a,.member-command-panel button{
  display:flex;width:100%;padding:10px 11px;color:#173d2c;background:transparent;border:0;border-radius:7px;
  font:inherit;font-weight:700;text-align:left;text-decoration:none;cursor:pointer;
}
.member-command-panel a:hover,.member-command-panel button:hover{background:#edf7f1;}
.member-command-search{display:flex;align-items:center;margin-left:auto;min-width:250px;max-width:390px;flex:1;position:relative;}
.member-command-search input{
  width:100%;height:36px;padding:7px 10px;color:#173d2c;background:#fff;border:0;border-radius:7px 0 0 7px;outline:none;
}
.member-command-search button{height:36px;min-width:40px;color:#fff;background:#126d44;border:0;border-left:1px solid #d7e5dc;border-radius:0 7px 7px 0;cursor:pointer;}
.member-command-search .member-live-results{top:calc(100% + 7px);left:0;right:0;z-index:1100;text-align:left;}
.svh-global-search-wrap{position:relative;z-index:1200;max-width:760px;margin:0 0 16px;}
.svh-global-search-wrap .svh-global-search-top{margin:0;max-width:none;}
.svh-global-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:82px;z-index:1210;padding:5px;background:#fff;border:1px solid #cfe0d6;border-radius:10px;box-shadow:0 14px 30px rgba(16,53,35,.18);max-height:360px;overflow:auto;}
.svh-global-suggestions[hidden]{display:none!important;}
.svh-global-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;color:#173d2c;text-decoration:none;border-radius:7px;}
.svh-global-suggestion:hover,.svh-global-suggestion:focus{background:#edf7f1;}
.svh-global-suggestion span{font-weight:750;}.svh-global-suggestion small{color:#668073;white-space:nowrap;}
.svh-global-suggestion-empty{padding:10px 11px;color:#668073;}
.member-toolbar-collapsible{margin:0 0 12px!important;padding:14px 16px!important;}
.member-toolbar-collapsible[hidden]{display:none!important;}
#memberFilterPanel .member-filters{margin:0!important;padding:0!important;border:0!important;}
#memberViewPanel .member-table-tools{margin:0!important;padding:0!important;border:0!important;}
#membersTable .svh-selection-col[hidden],.svh-member-bulkbar[hidden]{display:none!important;}
.svh-member-bulkbar{border:1px solid #9fd2b5!important;background:#f2fbf6!important;}
@media(max-width:850px){
  .member-commandbar{flex-wrap:wrap;}
  .member-command-search{order:5;flex-basis:100%;max-width:none;margin-left:0;}
  .member-command,.member-commandbar a.member-command{flex:1;}
}

/* 2.5.70 – kompakte, verankerte Spaltenauswahl in der Buchhaltung */
.accounting-column-toolbar{z-index:1200}
.accounting-column-menu{position:relative}
.accounting-column-menu>summary{display:inline-flex;align-items:center;gap:8px;min-height:38px;list-style:none;cursor:pointer;user-select:none}
.accounting-column-menu>summary::-webkit-details-marker{display:none}
.accounting-column-menu>summary:focus-visible{outline:3px solid rgba(47,143,103,.18);outline-offset:2px}
.accounting-column-menu[open]>summary{color:#176b43;background:#e8f4ed;border-color:#b9d8c6}
.accounting-columns-icon{position:relative;width:15px;height:14px;display:inline-block;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.accounting-columns-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
.accounting-columns-chevron{width:7px;height:7px;margin-left:2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}
.accounting-column-menu[open] .accounting-columns-chevron{transform:translateY(2px) rotate(225deg)}
.accounting-column-panel{position:absolute;top:calc(100% + 8px);left:0;width:min(470px,calc(100vw - 330px));min-width:420px;padding:0;background:#fff;border:1px solid #cfdfd5;border-radius:13px;box-shadow:0 18px 46px rgba(18,49,30,.20);z-index:5000;overflow:hidden}
.accounting-column-panel-head{padding:14px 16px 12px;border-bottom:1px solid #e4ece7;background:linear-gradient(180deg,#fbfdfc,#f7faf8)}
.accounting-column-panel-head strong{display:block;color:#173d2c;font-size:14px}
.accounting-column-panel-head small{display:block;margin-top:2px;color:#708178;font-size:11px}
.accounting-column-panel #accountingColumnChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;margin:0;padding:10px 12px}
.accounting-column-panel #accountingColumnChoices label{display:flex;align-items:center;gap:9px;min-height:34px;margin:0;padding:6px 8px;color:#294638;background:transparent;border-radius:7px;font-size:13px;cursor:pointer}
.accounting-column-panel #accountingColumnChoices label:hover{background:#eef7f2;color:#176b43}
.accounting-column-panel #accountingColumnChoices input{width:16px;height:16px;margin:0;accent-color:#23895a;flex:0 0 auto}
.accounting-column-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 14px;border-top:1px solid #e4ece7;background:#fafcfb}
.accounting-column-panel-footer #accountingColumnStatus{color:#60766a;font-size:11px;font-weight:700}
.accounting-column-actions{display:flex;align-items:center;gap:4px}
.accounting-column-actions .linkbutton{min-height:30px;padding:5px 8px;border-radius:6px;color:#177247;background:transparent;font-size:12px;font-weight:750}
.accounting-column-actions .linkbutton:hover{background:#e8f4ed}
@media(max-width:700px){
  .accounting-column-panel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;min-width:0;max-height:calc(100vh - 24px);overflow:auto}
  .accounting-column-panel #accountingColumnChoices{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 2.5.71 – feste Vorschau der nächsten Beitragsrechnung im Mitglied */
.member-next-invoice{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin:0 16px 14px;padding:11px 13px;color:#173d2c;background:linear-gradient(135deg,#edf8f1,#f8fcfa);border:1px solid #badbc8;border-radius:11px;box-shadow:0 3px 10px rgba(22,94,57,.06)}
.member-next-invoice-icon{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:#23895a;border-radius:10px;font-size:18px;font-weight:850}
.member-next-invoice-copy{display:flex;min-width:0;flex-direction:column;gap:1px}
.member-next-invoice-copy>span{color:#6a7f73;font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.member-next-invoice-copy>strong{font-size:13px;line-height:1.35}
.member-next-invoice-copy>small{color:#61766a;font-size:11px}
.member-next-invoice-amount{padding-left:12px;color:#176b43;font-size:18px;white-space:nowrap}
.member-next-invoice.is-inactive{background:#f7f9f8;border-color:#dce5e0;box-shadow:none}
.member-next-invoice.is-inactive .member-next-invoice-icon{color:#75847c;background:#e4eae6}
.member-next-invoice.is-inactive .member-next-invoice-amount{color:#7b8a82}
@media(max-width:560px){
  .member-next-invoice{grid-template-columns:38px minmax(0,1fr)}
  .member-next-invoice-amount{grid-column:2;padding:2px 0 0;font-size:16px}
}

/* 2.5.72 – E-Rechnungen im Zahlungsverkehr */
.payment-nav-new{margin-left:auto;padding:2px 5px;color:#176b43;background:#dff2e7;border-radius:5px;font-size:8px;font-weight:900;letter-spacing:.06em}
.payment-side-nav a.active .payment-nav-new{color:#fff;background:rgba(255,255,255,.2)}
.einvoice-main{display:grid;gap:14px;min-width:0}
.einvoice-import-card{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:center;gap:16px;padding:17px 18px;border-color:#bcdcc9;background:linear-gradient(135deg,#f5fbf7,#fff)}
.einvoice-import-copy{display:flex;align-items:center;gap:13px}
.einvoice-import-copy h2,.einvoice-list-head h2,.einvoice-party-card h2,.einvoice-items-head h2{margin:0;color:#173d2c;font-size:17px}
.einvoice-import-copy p,.einvoice-list-head p,.einvoice-items-head p{margin:3px 0 0;color:#667a6f;font-size:12px}
.einvoice-import-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;color:#fff;background:#23895a;border-radius:12px;font-size:11px;font-weight:900;letter-spacing:.04em}
.einvoice-import-form{display:flex;align-items:center;gap:8px}
.einvoice-file-picker{position:relative;margin:0;cursor:pointer}
.einvoice-file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.einvoice-file-picker span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;color:#315140;background:#fff;border:1px solid #cdded4;border-radius:8px;font-size:12px;font-weight:750}
.einvoice-file-picker:focus-within span,.einvoice-file-picker:hover span{border-color:#79b594;background:#f2f8f4}
.einvoice-import-card>small{grid-column:1/-1;color:#75887d;font-size:10px}
.einvoice-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.einvoice-kpis a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:10px 13px;color:#365446;background:#fff;border:1px solid #dce7e0;border-radius:10px;text-decoration:none}
.einvoice-kpis a:hover,.einvoice-kpis a.active{color:#176b43;border-color:#9bc9ae;background:#eef8f2}
.einvoice-kpis span{font-size:11px;font-weight:750}.einvoice-kpis strong{font-size:18px}
.einvoice-list-card{padding:0;overflow:visible}
.einvoice-list-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;border-bottom:1px solid #e4ece7}
.einvoice-search{display:flex;align-items:center;gap:7px}.einvoice-search input{min-width:250px;min-height:36px}
.einvoice-table{min-width:1060px}.einvoice-table td:nth-child(2){min-width:190px}.einvoice-table td:nth-child(3){min-width:160px}
.einvoice-table td small{display:block;margin-top:3px;color:#71837a;font-size:10px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.einvoice-status{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}
.einvoice-status.valid{color:#176b43;background:#e8f6ed;border-color:#bee0ca}
.einvoice-status.warning{color:#8a6110;background:#fff7df;border-color:#eed99b}
.einvoice-status.incomplete{color:#9b3434;background:#fff0ef;border-color:#efc5c2}
.einvoice-status.unrecognized{color:#5e6670;background:#f0f2f4;border-color:#d4d9de}
.einvoice-payment-linked{color:#176b43;font-size:11px;font-weight:800}
.einvoice-detail-header .page-actions form{margin:0}
.einvoice-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:14px;align-items:start}
.einvoice-overview-card,.einvoice-party-card,.einvoice-items-card{padding:18px}
.einvoice-detail-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.einvoice-detail-status-row small{color:#75877d}
.einvoice-check-messages{margin:0 0 14px;padding:11px 13px;color:#72520d;background:#fff8e7;border:1px solid #ecd99e;border-radius:9px;font-size:12px}
.einvoice-check-messages ul{margin:6px 0 0;padding-left:18px}
.einvoice-amount-hero{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:15px;padding:15px 17px;background:linear-gradient(135deg,#eaf7ef,#f8fcfa);border:1px solid #c4dfce;border-radius:11px}
.einvoice-amount-hero span{color:#647b6f;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.einvoice-amount-hero strong{margin:2px 0;color:#176b43;font-size:27px}.einvoice-amount-hero small{color:#536d5f}
.einvoice-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.einvoice-facts>div{min-width:0;padding:10px 11px;background:#f7faf8;border-radius:8px}.einvoice-facts span{display:block;margin-bottom:3px;color:#778a7f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.einvoice-facts strong{display:block;overflow-wrap:anywhere;color:#294638;font-size:12px}
.einvoice-party-card h2{margin-bottom:12px}.einvoice-party-card dl{display:grid;gap:0;margin:0}.einvoice-party-card dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #edf2ef}.einvoice-party-card dl>div:last-child{border-bottom:0}.einvoice-party-card dt{color:#73867b;font-size:10px;font-weight:800}.einvoice-party-card dd{margin:0;color:#294638;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.einvoice-items-card{grid-column:1/-1;padding:0;overflow:visible}.einvoice-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #e4ece7}.einvoice-items-head>span{padding:5px 8px;color:#176b43;background:#eaf6ee;border-radius:999px;font-size:10px;font-weight:800}
.einvoice-items-card .data-table{min-width:760px}
.einvoice-integrity-note{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:11px 14px;color:#556d60;background:#f7faf8;border:1px solid #dce7e0;border-radius:10px;font-size:11px}.einvoice-integrity-note strong{color:#294638;white-space:nowrap}
@media(max-width:1050px){
  .einvoice-import-card{grid-template-columns:1fr}.einvoice-import-form{justify-content:flex-start}.einvoice-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.einvoice-detail-grid{grid-template-columns:1fr}.einvoice-items-card,.einvoice-integrity-note{grid-column:auto}
}
@media(max-width:700px){
  .einvoice-import-form,.einvoice-list-head,.einvoice-integrity-note{align-items:stretch;flex-direction:column}.einvoice-import-form button,.einvoice-file-picker span{width:100%;justify-content:center}.einvoice-kpis{grid-template-columns:1fr 1fr}.einvoice-search{width:100%}.einvoice-search input{min-width:0;flex:1}.einvoice-facts{grid-template-columns:1fr 1fr}
}

/* 2.5.73 – E-Rechnungsliste ohne horizontalen Bildlauf */
.einvoice-card-list{display:grid;gap:8px;padding:10px;background:#f7faf8}
.einvoice-list-item{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(92px,.55fr)) minmax(120px,.7fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 13px;background:#fff;border:1px solid #dce7e0;border-radius:11px;box-shadow:0 1px 2px rgba(23,61,44,.025);transition:border-color .15s ease,box-shadow .15s ease}
.einvoice-list-item:hover{border-color:#bad7c6;box-shadow:0 5px 16px rgba(23,61,44,.07)}
.einvoice-list-item-main{display:flex;align-items:flex-start;gap:10px;min-width:0}
.einvoice-list-identity{display:flex;min-width:0;flex-direction:column;gap:2px}
.einvoice-list-identity>strong{overflow:hidden;color:#173d2c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.einvoice-list-identity>span{color:#405d4d;font-size:11px;font-weight:700}
.einvoice-list-identity>small{overflow:hidden;color:#7a8c82;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.einvoice-list-fact,.einvoice-list-total{display:flex;min-width:0;flex-direction:column;gap:3px}
.einvoice-list-fact>span,.einvoice-list-total>span{color:#7a8c82;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.einvoice-list-fact>strong{overflow-wrap:anywhere;color:#365446;font-size:11px}
.einvoice-list-total{align-items:flex-end;text-align:right}.einvoice-list-total>strong{color:#176b43;font-size:15px;white-space:nowrap}
.einvoice-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 10px;color:#176b43;background:#edf7f1;border:1px solid #c9e2d3;border-radius:8px;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.einvoice-open-btn:hover{color:#fff;background:#23895a;border-color:#23895a}
@media(max-width:1250px){
  .einvoice-list-item{grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(92px,.55fr)) minmax(120px,.7fr) auto}
  .einvoice-list-item .einvoice-list-fact:nth-child(4){display:none}
}
@media(max-width:950px){
  .einvoice-list-item{grid-template-columns:minmax(0,1fr) minmax(115px,auto) auto;align-items:start}
  .einvoice-list-item-main{grid-column:1/-1}.einvoice-list-fact{padding-top:4px}.einvoice-list-total{align-items:flex-start;text-align:left}.einvoice-open-btn{align-self:center}
  .einvoice-list-item .einvoice-list-fact:nth-child(4){display:flex}
}
@media(max-width:560px){
  .einvoice-list-item{grid-template-columns:1fr 1fr}.einvoice-list-item-main{flex-direction:column}.einvoice-list-total{grid-column:1}.einvoice-open-btn{grid-column:2;grid-row:3;align-self:end}.einvoice-list-fact:nth-child(4){display:none!important}
}

/* 2.5.75 – kompakte Hauptnavigation */
body{--manager-sidebar-expanded:220px;--manager-sidebar-collapsed:66px}
body .sidebar,body.ui-sidebar-compact .sidebar,body.ui-sidebar-wide .sidebar{
  width:var(--manager-sidebar-expanded)!important;
  padding:0!important;
  background:#202d35!important;
  border-right:1px solid rgba(255,255,255,.055)!important;
}
body main,body.ui-sidebar-compact main,body.ui-sidebar-wide main{margin-left:var(--manager-sidebar-expanded)!important}
.sidebar .brand{
  min-height:64px!important;height:64px!important;padding:10px 48px 10px 11px!important;
  display:flex!important;align-items:center!important;gap:9px!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.sidebar .brand-mark-image{width:36px;height:36px;flex:0 0 36px;border-radius:8px}
.sidebar .brand-copy{display:flex;min-width:0;flex-direction:column;gap:1px;line-height:1.12}
.sidebar .brand-copy strong{overflow:hidden;color:#fff!important;font-family:inherit!important;font-size:12px!important;font-weight:800!important;letter-spacing:normal!important;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}

/* 2.5.84 – feste Dokumentplätze in der Mitgliedsakte */
.member-required-documents{padding:16px;border:1px solid #cfe2d6;border-radius:15px;background:linear-gradient(145deg,#f4faf6,#fff)}
.member-required-documents-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.member-required-documents-head h3{margin:2px 0 3px;color:#173d2b;font-size:18px}.member-required-documents-head p{margin:0;color:#667a6e;font-size:12px}
.member-required-count{flex:none;padding:6px 10px;border-radius:999px;background:#e6f3ea;color:#216442;font-size:11px;font-weight:800}
.member-required-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.member-required-card{display:flex;min-width:0;flex-direction:column;gap:11px;padding:14px;border:1px solid #d8e6dd;border-radius:13px;background:#fff}
.member-required-card.is-complete{border-color:#afd4bd;box-shadow:inset 0 3px 0 #2c8c5c}.member-required-card.is-missing{border-style:dashed;background:#fbfcfb}
.member-required-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#edf3ef;color:#718078;font-size:18px;font-weight:900}
.member-required-card.is-complete .member-required-icon{background:#e0f2e6;color:#167447}
.member-required-copy{display:flex;min-width:0;flex:1;flex-direction:column}.member-required-status{color:#7b8b82;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.member-required-copy h4{margin:3px 0;color:#183d2c;font-size:15px}.member-required-copy p{margin:0;color:#6b7d72;font-size:11px}.member-required-copy small{margin-top:8px;color:#3f5f4d;font-size:10px;overflow-wrap:anywhere}
.member-required-actions{display:flex;gap:7px;flex-wrap:wrap}.member-required-actions .btn{min-height:32px;padding:6px 9px;font-size:10px}
.member-required-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;padding-top:10px;border-top:1px solid #e5ece7}
.member-required-drop{display:grid;min-width:0;gap:2px;padding:8px 9px;border:1px dashed #9bbfac;border-radius:9px;background:#f5faf7;color:#466253;cursor:pointer}.member-required-drop:hover,.member-required-drop.drag-active{border-color:#27885a;background:#e8f5ec}.member-required-drop strong{font-size:10px}.member-required-drop span{font-size:9px;font-weight:600}.member-required-drop small{overflow:hidden;color:#6d8075;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.member-required-drop input[type=file]{position:absolute;width:1px!important;height:1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden}.member-required-drop:focus-visible{outline:2px solid #27885a;outline-offset:2px}.member-required-upload .btn{min-height:34px;padding:7px 9px;font-size:10px}
@media(max-width:1100px){.member-required-grid{grid-template-columns:1fr}.member-required-card{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start}.member-required-copy{grid-column:2}.member-required-actions,.member-required-upload{grid-column:1/-1}}
@media(max-width:600px){.member-required-documents{padding:12px}.member-required-documents-head{align-items:flex-start;flex-direction:column}.member-required-upload{grid-template-columns:1fr}.member-required-upload .btn{width:100%}}
.sidebar .brand-copy small{overflow:hidden;color:#91a6b0;font-size:8.5px;font-weight:650;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}
.sidebar-toggle{
  top:17px!important;right:9px!important;width:29px!important;height:29px!important;min-width:29px!important;
  padding:0!important;border-radius:7px!important;border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.055)!important;font-size:14px!important;
}
.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:rgba(255,255,255,.12)!important}
.sidebar .main-nav{gap:0!important;padding:7px 7px 12px!important}
.sidebar .nav-home{margin:0 0 5px!important;padding:0 0 5px;border-bottom:1px solid rgba(255,255,255,.07)}
.sidebar .nav-group{
  display:block!important;margin:0!important;padding:0 0 5px!important;
  border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;
  border-radius:0!important;background:transparent!important;overflow:visible!important;
}
.sidebar .nav-group:last-child{border-bottom:0!important}
.sidebar .nav-section{
  display:block;padding:9px 6px 4px!important;color:#7fa0b0!important;
  font-size:8px!important;font-weight:850!important;line-height:1.2!important;
  letter-spacing:.095em!important;text-transform:uppercase;
}
.sidebar .nav-group-body{display:block!important;padding:0!important;border:0!important}
.sidebar .main-nav a,.sidebar .nav-group-body>a,.sidebar .nav-home>a{
  position:relative;display:flex!important;align-items:center!important;width:100%;min-height:32px!important;
  margin:0!important;padding:5px 7px!important;gap:7px!important;border:0!important;border-radius:4px!important;
  background:transparent!important;box-shadow:none!important;color:#dce6eb!important;
  font-size:12px!important;font-weight:500!important;line-height:1.2!important;transform:none!important;
}
.sidebar .main-nav a:hover,.sidebar .main-nav a:focus-visible{background:rgba(255,255,255,.055)!important;color:#fff!important;outline:none}
.sidebar .main-nav a.active{background:#263740!important;color:#fff!important;box-shadow:none!important}
.sidebar .main-nav a::after{content:"›"!important;position:static!important;margin-left:auto;width:auto;height:auto;background:none!important;border-radius:0!important;color:#8fb9ca;font-size:13px;font-weight:500}
.sidebar .nav-home>a::after{content:""!important}
.sidebar .main-nav a.nav-external::after{content:"↗"!important}
.sidebar .main-nav .nav-icon{
  display:inline-grid!important;place-items:center!important;width:18px!important;min-width:18px!important;height:18px!important;
  margin:0!important;border-radius:3px!important;background:transparent!important;color:#dce6eb!important;font-size:11px!important;font-weight:700!important;
}
.sidebar .main-nav .nav-label,.sidebar .main-nav .nav-label strong,.sidebar .main-nav .nav-label small{
  min-width:0;color:inherit!important;font-size:12px!important;font-weight:500!important;line-height:1.2!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sidebar .nav-program-switch{min-height:32px!important}
.sidebar .nav-program-switch .nav-icon{min-width:18px!important;height:18px!important;color:#78d6a5!important}
.sidebar .sidebar-bottom{padding:8px 7px 9px!important;background:#202d35}
.sidebar .user-mini{padding:5px 6px 7px}.sidebar .user-avatar{width:29px;height:29px;border-radius:6px}
.sidebar .user-mini-text strong{font-size:10.5px!important}.sidebar .user-mini-text>span{font-size:9px!important}
.sidebar .logout-link{min-height:31px;padding:5px 7px!important;font-size:11px!important}
.sidebar .app-version{margin:7px 7px 1px;color:#dce6eb!important;font-family:inherit!important;font-size:12px!important;font-weight:500!important;letter-spacing:normal!important;line-height:1.2}
body.sidebar-is-collapsed .sidebar .brand{justify-content:center!important;padding:10px!important}
body.sidebar-is-collapsed .sidebar .brand-mark-image{display:none!important}
body.sidebar-is-collapsed .sidebar .brand-copy{display:none!important}
body.sidebar-is-collapsed .sidebar-toggle{top:17px!important;right:18px!important}
body.sidebar-is-collapsed .sidebar .main-nav{padding:7px 6px 12px!important}
body.sidebar-is-collapsed .sidebar .nav-section{display:none!important}
body.sidebar-is-collapsed .sidebar .nav-group{padding:4px 0!important}
body.sidebar-is-collapsed .sidebar .main-nav a{justify-content:center!important;min-height:38px!important;padding:6px 3px!important}
body.sidebar-is-collapsed .sidebar .main-nav a::after{display:none!important}
body.sidebar-is-collapsed .sidebar .main-nav .nav-icon{font-size:14px!important}
@media(max-width:600px){body{--manager-sidebar-expanded:min(220px,82vw);--manager-sidebar-collapsed:58px}}

/* 2.5.76 – kompakt einklappbare PDF-Optionen im Dashboard */
.dashboard-pdf-details{margin:0 16px 14px;border:1px solid #dce8e0;border-radius:11px;background:#f7faf8;overflow:hidden}
.dashboard-pdf-details>summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;cursor:pointer;color:#28513b;font-size:12px;font-weight:800;list-style:none;user-select:none}
.dashboard-pdf-details>summary::-webkit-details-marker{display:none}
.dashboard-pdf-details>summary::before{content:"▸";color:#28865a;font-size:12px;transition:transform .16s ease}
.dashboard-pdf-details[open]>summary::before{transform:rotate(90deg)}
.dashboard-pdf-details>summary small{margin-left:auto;color:#71867a;font-size:10px;font-weight:600}
.dashboard-pdf-details>summary:hover{background:#eef6f1}
.dashboard-pdf-details .dashboard-pdf-options{margin:0;padding:12px;border:0;border-top:1px solid #dce8e0;border-radius:0;background:#f5faf7}

/* 2.5.102 - "Eckig" gilt zuverlässig im gesamten Manager.
   Dieser Block steht bewusst am Dateiende, damit auch spätere Modulstile mit
   fest eingetragenen Rundungen die persönliche Designwahl nicht übergehen. */
body.ui-radius-square main :is(
  section,
  article,
  details,
  table,
  input,
  select,
  textarea,
  button,
  .btn,
  .card,
  .content-card,
  .flash,
  .notice,
  .profile-kpis>div,
  .tablewrap,
  .table-wrap,
  [class*="-card"],
  [class*="-box"],
  [class*="-item"],
  [class*="-row"],
  [class*="-bar"],
  [class*="-strip"],
  [class*="-tile"],
  [class*="-widget"],
  [class*="-panel"],
  [class*="-dialog"],
  [class*="-popover"],
  [class*="-dropdown"],
  [class*="-menu"],
  [class*="-toolbar"],
  [class*="-commandbar"],
  [class*="-notice"],
  [class*="-flash"],
  [class*="-drop-zone"],
  [class*="-upload-drop"]
),
body.ui-radius-square :is(
  dialog,
  [popover],
  .dropdown-panel,
  .member-context-menu,
  .accounting-context-menu,
  .payment-context-menu,
  .calendar-context-menu,
  .svh-global-suggestions,
  .svh-os-drop-indicator
){border-radius:0!important}

/* Statusmarkierungen und echte Kreis-Symbole sind keine Fenster. */
body.ui-radius-square :is(
  .status-badge,
  .member-status-badge,
  .tag,
  .badge,
  .avatar,
  .user-avatar,
  .member-required-count,
  .einvoice-status,
  .payment-status,
  .payment-nav-new
){border-radius:999px!important}
@media(max-width:700px){.dashboard-pdf-details{margin:0 10px 10px}.dashboard-pdf-details>summary{align-items:flex-start;flex-direction:column;gap:2px;padding-left:28px;position:relative}.dashboard-pdf-details>summary::before{position:absolute;left:11px;top:12px}.dashboard-pdf-details>summary small{margin-left:0}}

/* 2.5.103 - druckbare Mitgliederstatistik */
.statistics-scope{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.statistics-scope>div:first-child{display:grid;gap:3px}.statistics-scope span{color:#6a7d72;font-size:12px}.statistics-scope-actions{display:flex;gap:8px;flex-wrap:wrap}
.statistics-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}.statistics-kpis article{display:grid;gap:4px;min-width:0;padding:14px;background:#fff;border:1px solid #d6e4da;border-radius:var(--ui-radius);box-shadow:var(--ui-card-shadow)}.statistics-kpis span{color:#63776b;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.statistics-kpis strong{color:#173d2c;font-size:25px;line-height:1}.statistics-kpis small{overflow-wrap:anywhere;color:#73857b;font-size:10px;line-height:1.3}
.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.statistics-section{margin:0;padding:0;overflow:hidden}.statistics-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e0eae4;background:#f6faf7}.statistics-section-head h2{margin:0;color:#173d2c;font-size:15px}.statistics-section-head>span{display:grid;place-items:center;min-width:30px;height:26px;padding:0 8px;color:#176b43;background:#e4f2e8;border-radius:999px;font-size:11px;font-weight:850}.statistics-chart{display:grid;gap:12px;padding:15px 16px}.statistics-row{display:grid;gap:5px}.statistics-row-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#2d493a;font-size:12px}.statistics-row-label strong{font-weight:700}.statistics-row-label span{flex:none;color:#667a6f;font-size:10px;font-variant-numeric:tabular-nums}.statistics-bar-track{height:8px;overflow:hidden;background:#edf2ef;border-radius:999px}.statistics-bar-track>span{display:block;width:var(--stat-bar);height:100%;background:linear-gradient(90deg,#27885a,#69ad84);border-radius:inherit}.statistics-print-footer{display:none;margin:14px 0 0;color:#6b7d73;font-size:9px;text-align:right}
@media(max-width:1250px){.statistics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.statistics-scope{align-items:stretch;flex-direction:column}.statistics-grid{grid-template-columns:1fr}.statistics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  body.member-statistics-view{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.member-statistics-view .sidebar{display:none!important}
  body.member-statistics-view main{max-width:none!important;margin:0!important;padding:0!important}
  body.member-statistics-view .statistics-no-print{display:none!important}
  body.member-statistics-view .member-statistics-page{color:#111}
  body.member-statistics-view .statistics-print-header{margin-bottom:9mm}
  body.member-statistics-view .statistics-kpis{grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:5mm}
  body.member-statistics-view .statistics-kpis article{min-height:21mm;padding:3mm;box-shadow:none;break-inside:avoid}
  body.member-statistics-view .statistics-grid{grid-template-columns:repeat(2,1fr);gap:4mm}
  body.member-statistics-view .statistics-section{box-shadow:none;break-inside:avoid;page-break-inside:avoid}
  body.member-statistics-view .statistics-section-head{padding:3mm 4mm}
  body.member-statistics-view .statistics-chart{gap:2.4mm;padding:3mm 4mm}
  body.member-statistics-view .statistics-print-footer{display:block}
}
