/* Fight Factory v2: Markenbild, Minussaldo, Rechnungsversand und Vertragsverwaltung */
.brand-mark{width:48px;height:48px;border-radius:15px;background:#171c19;border-color:#c9a66a80;box-shadow:none;overflow:hidden}
.brand-mark img{width:43px;height:43px;display:block;object-fit:contain}
.auth-brand-mark{overflow:hidden;background:#171c19!important;border-color:#c9a66a!important}
.auth-brand-mark img{width:88%;height:88%;display:block;object-fit:contain}
.balance-negative{color:var(--danger)!important;font-weight:900}
.invoice-share{margin-top:5px;display:flex!important;gap:9px}
.invoice-share a{display:inline-flex;align-items:center;gap:3px;color:var(--sage-dark);font-size:8px;font-weight:850}
.invoice-share svg{width:12px}
.reminder-share{margin-top:7px!important;flex-wrap:wrap}
.reminder-share a{min-height:30px;padding:0 9px;background:#e7eee8;border:1px solid #cbd9ce;border-radius:9px;font-size:9px}
.contract-panel{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:17px}
.contract-status{display:flex;align-items:center;gap:10px}
.contract-status>div{min-width:0;flex:1;display:grid;gap:3px}
.contract-status strong{font-size:10px}
.contract-status small{color:var(--muted);font-size:8px;line-height:1.4}
.contract-status>a{display:flex;align-items:center;gap:4px;color:var(--sage-dark);font-size:8px;font-weight:850}
.contract-status>a svg{width:14px}
.contract-panel>p{margin:10px 2px 0;color:var(--muted);font-size:8px;line-height:1.4}
.pass-negative{background:linear-gradient(145deg,#864932,#542d22)}

/* Version 2.2: Altersfilter, Guthabenkorrektur, Zahlung und Vertragsansicht */
.attendance-search{margin:0 0 9px}
.attendance-list-shell .member-row[hidden]{display:none!important}
.category-filters{margin-bottom:7px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.category-filter{min-height:43px;padding:7px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);background:#e8e9e3;border:1px solid transparent;border-radius:12px;font-size:9px;font-weight:800;cursor:pointer;opacity:.58}
.category-filter i{width:9px;height:9px;flex:0 0 auto;border-radius:50%}
.category-filter.child i{background:var(--child)}.category-filter.youth i{background:var(--youth)}.category-filter.adult i{background:var(--adult)}
.category-filter b{min-width:18px;padding:2px 5px;color:var(--muted);background:#ffffff9c;border-radius:999px;font-size:8px}
.category-filter.active{color:var(--ink);background:var(--card);border-color:var(--line);box-shadow:0 5px 14px #26352a0d;opacity:1}
.filter-status{margin:0 2px 10px;color:var(--muted);font-size:8px;line-height:1.45}
.balance-editor{min-height:47px;display:grid;grid-template-columns:47px 1fr 47px;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:12px}
.balance-editor button{color:var(--sage-dark);background:#e7eee8;border:0;font-size:22px;font-weight:700;cursor:pointer}
.balance-editor input{min-height:45px!important;padding:0!important;text-align:center;border:0!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;border-radius:0!important;font-size:16px!important;font-weight:850}
.profile-edit-panel{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:15px}
.profile-edit-panel summary{border:0;border-radius:0;list-style:none}.profile-edit-panel summary::-webkit-details-marker{display:none}
.profile-edit-panel[open] summary>svg:last-child{transform:rotate(90deg)}
.profile-edit-panel form{padding:0 13px 14px;border-top:1px solid var(--line)}
.renewed-note>span{min-width:0;flex:1}.renewed-note>button{padding:7px 8px;color:var(--sage-dark);background:#fff;border:1px solid #c7d7ca;border-radius:9px;font-size:8px;font-weight:850;cursor:pointer}
.renewal-dialog{width:min(94%,460px);max-height:92svh;padding:24px;overflow:auto;color:var(--ink);background:var(--paper);border:0;border-radius:24px;box-shadow:0 30px 90px #0007}
.renewal-dialog::backdrop{background:#0a0d0bb5;backdrop-filter:blur(4px)}
.renewal-dialog>.kicker{display:block;margin-top:13px}.renewal-dialog h2{margin:5px 42px 7px 0;font-size:24px;line-height:1.1}
.renewal-dialog>p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}
.payment-option{margin-top:10px;padding:13px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.payment-option>div{display:grid;gap:3px}.payment-option strong{font-size:14px}.payment-option small{color:var(--muted);font-size:12px;line-height:1.4}.payment-option small b{color:var(--ink)}
.qr-payment img{width:min(100%,260px);margin:12px auto 8px;display:block;border:1px solid var(--line);border-radius:14px}
.qr-payment>small{display:block;text-align:center}.compact-button{min-height:40px;margin-top:11px;font-size:12px}
.renewal-pending-confirmation{margin-top:13px;padding:11px;display:flex;align-items:center;gap:8px;color:#2f5b3e;background:#e5efe7;border:1px solid #c7ddcc;border-radius:13px}
.renewal-pending-confirmation svg{width:18px}.renewal-pending-confirmation span{display:grid;gap:2px}.renewal-pending-confirmation strong{font-size:12px}.renewal-pending-confirmation small{font-size:11px}
.contract-body{overflow:hidden;background:var(--paper)}
.contract-viewer{height:100svh;display:grid;grid-template-rows:auto 1fr auto;color:var(--ink);background:var(--paper)}
.contract-viewer header{min-height:68px;padding:max(12px,env(safe-area-inset-top)) 15px 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;background:var(--card);border-bottom:1px solid var(--line)}
.contract-viewer header h1{margin:0;font-size:17px;text-align:center;white-space:nowrap}
.contract-viewer header a,.contract-viewer header button{min-height:40px;padding:0 8px;display:flex;align-items:center;gap:5px;color:var(--sage-dark);background:transparent;border:0;font-size:12px;font-weight:800;cursor:pointer}
.contract-viewer header button{justify-self:end}.contract-viewer header svg{width:17px}.contract-viewer header a svg{transform:rotate(180deg)}
.contract-frame{min-height:0;background:#d8dbd7}.contract-frame iframe{width:100%;height:100%;display:block;background:#fff;border:0}
.contract-viewer footer{padding:10px 15px max(10px,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}
.contract-viewer footer .secondary-button{margin:0;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.contract-viewer footer svg{width:17px}
.contract-viewer footer small{display:block;margin-top:6px;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:380px){.category-filter{padding:6px 4px;font-size:8px}.category-filter b{display:none}.renewal-dialog{padding:20px}.contract-viewer header a span,.contract-viewer header button span{display:none}}
