@font-face{font-family:'Teko';src:url('/assets/fonts/Teko-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Teko';src:url('/assets/fonts/Teko-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Teko';src:url('/assets/fonts/Teko-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Teko';src:url('/assets/fonts/Teko-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Teko';src:url('/assets/fonts/Teko-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

html,body,button,input,select,textarea{font-family:'Teko',sans-serif}
body{font-size:18px}
input,select,textarea,button{font-size:17px}
small,.muted,.status-pill,.eyebrow,.composer-kicker{letter-spacing:.01em}
:root{
  --red:#e7192d;
  --red-dark:#c91123;
  --navy:#0f2b5b;
  --blue:#1f6feb;
  --bg:#f5f8fc;
  --card:#ffffff;
  --muted:#6f7f95;
  --line:#e7edf5;
  --shadow:0 10px 30px rgba(15,43,91,.07);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy)}
body{min-height:100vh}
a{color:var(--blue);text-decoration:none;font-weight:700;font-size:14px}
button{font:inherit}
.app-shell{display:grid;grid-template-columns:286px 1fr;min-height:100vh}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}
.brand strong{display:block;font-size:25px;line-height:1}
.brand span,.brand small{display:block;color:var(--muted);margin-top:5px}
.brand small{font-size:12px}
.crest{width:68px;height:82px;border-radius:15px 15px 34px 34px;background:var(--red);color:#fff;font-weight:900;display:grid;place-items:center;text-align:center;line-height:1.1;box-shadow:inset 0 -8px 18px rgba(0,0,0,.08)}
.nav{display:flex;flex-direction:column;gap:5px}
.nav-item{display:grid;grid-template-columns:28px 1fr 20px;align-items:center;min-height:46px;padding:0 13px;color:var(--navy);border-radius:10px;font-weight:600}
.nav-item:hover{background:#f6f8fc}
.nav-item.active{background:linear-gradient(135deg,var(--red),#ef2b3f);color:#fff;box-shadow:0 8px 18px rgba(231,25,45,.18)}
.nav-icon{font-size:19px}
.nav-caret{text-align:right}
.sidebar-claim{margin-top:auto;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:14px;align-items:center}
.sidebar-claim p{margin:0;line-height:1.55}
.pitch-mark{font-size:38px;color:#b8c6d8}
.main{min-width:0}
.topbar{height:72px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.search{width:min(610px,48vw);height:42px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 14px;color:var(--muted)}
.search span{flex:1}.search kbd{background:#fff;border:1px solid var(--line);border-radius:7px;padding:4px 8px;color:#7a8799}
.top-actions{display:flex;gap:18px;align-items:center}
.notify{color:var(--red)}
.help{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.userbox{display:flex;align-items:center;gap:10px}
.userbox small{display:block;color:var(--muted);margin-top:3px}
.avatar{width:38px;height:38px;border-radius:50%;background:#dfe7f2;display:grid;place-items:center;font-weight:800}
.content{padding:24px 26px 40px}
.hero{min-height:145px;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 54%,rgba(255,255,255,.78) 100%),linear-gradient(135deg,#dbe5f2,#f6f8fc);border:1px solid var(--line);border-radius:18px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}
.eyebrow{font-weight:900;letter-spacing:.22em;color:var(--red);font-size:13px}
.hero h1{font-size:40px;line-height:1.08;margin:8px 0 8px}.hero h1 span{color:var(--red)}
.hero p{margin:0;color:#415778;font-size:18px}
.hero-claim{font-family:"Segoe Script","Bradley Hand",cursive;font-size:33px;line-height:.95;text-align:center;transform:rotate(-7deg);margin-right:36px}
.role-row{display:flex;gap:10px;align-items:center;padding:16px 0;overflow:auto}
.role{border:1px solid var(--line);background:#fff;color:var(--navy);padding:11px 22px;border-radius:10px;font-weight:700;white-space:nowrap;box-shadow:0 5px 16px rgba(15,43,91,.03)}
.role.active{color:var(--red);border-color:#ff8c99;background:#fff8f9}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}
.card.wide{grid-column:span 2}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-head h2{margin:0;font-size:19px}
.muted{color:var(--muted);font-size:14px}.metric{display:flex;align-items:baseline;gap:12px;margin:18px 0 0}.metric strong{font-size:38px}.metric span{color:var(--muted)}
.positive{color:#159447!important;background:#eaf8ef;padding:5px 8px;border-radius:8px;font-weight:700}
.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.split-stats div{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}.split-stats strong,.split-stats span{display:block}.split-stats strong{font-size:24px}
.matchup{display:flex;align-items:center;justify-content:space-around;margin:18px 0}.team{text-align:center;display:grid;gap:7px;justify-items:center}.vs{font-size:24px}.mini-crest{width:52px;height:62px;border-radius:10px 10px 24px 24px;background:var(--red);color:#fff;font-weight:900;display:grid;place-items:center}.opponent{width:52px;height:62px;border:2px solid var(--navy);border-radius:8px;display:grid;place-items:center;font-size:11px}
.meta{font-size:13px;color:#48617f;margin-bottom:14px}
.primary{width:100%;border:none;border-radius:9px;background:var(--red);color:#fff;padding:12px 14px;font-weight:800;cursor:pointer}
.list-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.list-row b{background:#eef2f8;padding:4px 7px;border-radius:7px}.list-row b.danger{background:#ffe8eb;color:var(--red)}
.phone{margin:10px auto 14px;background:#17223a;border-radius:26px;padding:12px;width:186px}.wallet-pass{background:#fff;border-radius:18px;padding:12px;display:grid;gap:8px}.wallet-red{background:var(--red);color:#fff;border-radius:10px;padding:12px;font-weight:900}.wallet-red span{display:block;font-size:9px;margin-top:5px}.qr{font-size:52px;line-height:1}.active-state{color:#129447;font-weight:800}.soft-box{background:#f2f6fc;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px;color:#48617f}
.booking-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0}.booking-row i{grid-column:1/-1;height:6px;background:#edf2f7;border-radius:99px;position:relative;overflow:hidden}.booking-row i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--blue);border-radius:99px}
.contract-warning{margin:14px 0;background:#fff7f7;border:1px solid #ffe1e5;border-radius:10px;padding:12px;color:#74505a}.contract-warning strong{color:var(--red);font-size:22px}
.logo-row{display:flex;gap:8px;margin:15px 0}.logo-row span{flex:1;border:1px solid var(--line);border-radius:9px;padding:12px 8px;text-align:center;font-weight:900;color:#42536d;background:#fff}
.club-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;margin:16px 0}.club-heart{background:#fff0f2;color:var(--red);border-radius:16px;padding:18px;text-align:center;font-family:"Segoe Script","Bradley Hand",cursive}
.magazine-flow{display:flex;gap:18px;align-items:center;margin:8px 0 15px}.mag-cover{width:76px;height:98px;background:linear-gradient(180deg,var(--red) 0 28%,#7789a1 28% 100%);color:#fff;font-weight:900;padding:10px;border-radius:6px}.steps{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.steps .done,.steps .current{color:var(--red);font-weight:800}
.ditix{display:flex;align-items:center;gap:12px}.ditix strong{font-size:38px;letter-spacing:-2px;color:#111}.connected{background:#e8f7ee;color:#158346;padding:6px 9px;border-radius:8px;font-weight:800}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-card{grid-column:auto}.app-shell{grid-template-columns:240px 1fr}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:static;height:auto}.nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-claim{display:none}.topbar{position:static}.search{width:60vw}.dashboard-grid{grid-template-columns:1fr}.card.wide{grid-column:auto}.hero h1{font-size:32px}.hero-claim{display:none}.content{padding:16px}}

.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}
.page-heading h1{font-size:34px;margin:5px 0}.page-heading p{margin:0;color:var(--muted)}
.version-badge{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:800;box-shadow:var(--shadow)}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px}
.update-form{display:grid;gap:16px;margin-top:20px}
.update-form label{display:grid;gap:8px;font-weight:800}
.update-form input[type=file],.update-form input[type=password]{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;background:#f8fafc;color:var(--navy)}
.alert{border-radius:12px;padding:14px 16px;margin-bottom:18px;font-weight:700}
.alert.success{background:#eaf8ef;border:1px solid #bfe8ce;color:#14763c}
.alert.error{background:#fff0f2;border:1px solid #ffc9d0;color:#b31328}
.protection-list{display:grid;gap:12px}.protection-list div{border-bottom:1px solid var(--line);padding-bottom:12px}.protection-list strong,.protection-list span{display:block}.protection-list span{color:var(--muted);font-size:14px;margin-top:4px}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}}

.brand{min-height:60px}
.brand strong{font-size:22px}
.brand span{font-size:13px}
.brand small{font-size:11px}
.wallet-red{min-height:54px}


/* FFC ClubOS 0.1.4 – feste Logo-Abmessungen */
.brand .brand-logo{
  width:42px !important;
  height:50px !important;
  max-width:42px !important;
  max-height:50px !important;
  object-fit:contain !important;
  flex:0 0 42px !important;
}

.matchup .club-badge{
  width:34px !important;
  height:42px !important;
  max-width:34px !important;
  max-height:42px !important;
  object-fit:contain !important;
}

.wallet-red .wallet-logo{
  width:22px !important;
  height:28px !important;
  max-width:22px !important;
  max-height:28px !important;
  object-fit:contain !important;
  flex:0 0 22px !important;
}

img.brand-logo,
img.club-badge,
img.wallet-logo{
  display:block !important;
}


/* FFC ClubOS 0.1.5 – Auth, Benutzer und Superadmin */
.auth-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 85% 15%, rgba(231,25,45,.08), transparent 28%),
    radial-gradient(circle at 15% 80%, rgba(15,43,91,.08), transparent 30%),
    var(--bg);
}
.auth-card{
  width:min(460px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(15,43,91,.12);
  padding:30px;
}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.auth-brand img{width:46px!important;height:56px!important;max-width:46px!important;max-height:56px!important;object-fit:contain!important}
.auth-brand strong{display:block;font-size:24px}.auth-brand span{display:block;color:var(--muted);margin-top:3px}
.auth-card h1{font-size:32px;margin:0 0 8px}
.auth-form{display:grid;gap:16px;margin-top:24px}
.auth-form label{display:grid;gap:7px;font-weight:800;font-size:14px}
.auth-form label small{font-weight:500;color:var(--muted)}
.auth-form input,.auth-form select{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;
  background:#f8fafc;color:var(--navy);font:inherit;outline:none
}
.auth-form input:focus,.auth-form select:focus{border-color:#9db5d4;box-shadow:0 0 0 3px rgba(31,111,235,.08)}
.auth-form.compact{margin-top:10px}
.logout-form{margin:0}.logout-btn{border:1px solid var(--line);background:#fff;border-radius:9px;width:36px;height:36px;color:var(--navy);cursor:pointer;font-size:18px}
.logout-btn:hover{background:#fff4f5;color:var(--red);border-color:#ffd4d9}
.users-layout{grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr)}
.user-table{display:grid}
.user-row{
  display:grid;grid-template-columns:38px minmax(180px,1fr) auto auto auto;
  gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)
}
.avatar.small{width:34px;height:34px;font-size:12px}
.user-main{min-width:0}.user-main strong,.user-main span{display:block}.user-main span{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.role-pill,.status-pill{border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;white-space:nowrap}
.role-pill{background:#eef3f9;color:#425a7c}.status-pill.ok{background:#e9f7ee;color:#138447}.status-pill.off{background:#f0f1f3;color:#717780}
.ghost-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;color:var(--navy);cursor:pointer}
.ghost-btn:hover{border-color:#f2a8b1;color:var(--red)}
@media(max-width:1050px){.users-layout{grid-template-columns:1fr}.user-row{grid-template-columns:38px 1fr auto}.user-row .role-pill,.user-row .status-pill{grid-row:2}.user-row form{grid-column:3}}


/* FFC ClubOS 0.1.6 – Mitglieder, Beiträge/Familien, Akkreditierung */
.primary-link,.ghost-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:11px 15px;font-weight:800;text-decoration:none}
.primary-link{background:var(--red);color:#fff}.ghost-link{border:1px solid var(--line);background:#fff;color:var(--navy)}
.section-card{margin-top:18px}
.contribution-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}
.admin-list{display:grid}.admin-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.admin-list-row strong,.admin-list-row span{display:block}.admin-list-row span{color:var(--muted);font-size:13px;margin-top:3px}.row-actions{display:flex;align-items:center;gap:8px}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-form textarea,.auth-form select,.family-form input,.family-form select,.member-form-layout input,.member-form-layout select,.member-form-layout textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#f8fafc;color:var(--navy);font:inherit
}
.checkline{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}
.checkline input{width:auto}
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.family-tile{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f9fbfd}.family-tile strong,.family-tile span{display:block}.family-tile span{font-size:13px;color:var(--muted);margin-top:4px}
.soft-rule{border:0;border-top:1px solid var(--line);margin:20px 0}
.family-form{display:grid;gap:14px}.family-form label{display:grid;gap:7px;font-weight:800;font-size:14px}.family-form small{font-weight:500;color:var(--muted)}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.table-search{min-width:320px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#f8fafc}
.data-table{display:grid}.data-row{display:grid;grid-template-columns:1.25fr 1.4fr 1fr 1fr .7fr .55fr;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:14px}.data-row.header{border-top:0;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.data-row small{display:block;color:var(--muted);margin-top:3px}
.member-form-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:18px}.member-form-layout article:nth-child(3){grid-column:1/-1}.member-form-layout label,.stack-label{display:grid;gap:7px;font-weight:800;font-size:14px}.stack-label{margin-top:16px}.stack-label small{font-weight:500;color:var(--muted)}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.check-card{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid var(--line);border-radius:10px;padding:11px;background:#f9fbfd}.check-card input{width:auto;margin-top:3px}.check-card strong,.check-card small{display:block}.check-card small{color:var(--muted);font-weight:500;margin-top:3px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.accreditation-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr)}
.zone-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.zone-fieldset legend{font-weight:800;padding:0 6px}.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.zone-check{display:flex!important;align-items:center;gap:8px!important;border:1px solid var(--line);border-radius:9px;padding:9px;background:#f9fbfd}.zone-check input{width:auto}.zone-check span{display:flex;gap:7px;align-items:center}.zone-check b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:7px;background:var(--navy);color:#fff}
.badge-list{display:grid}.badge-list-row{display:grid;grid-template-columns:90px 1fr 90px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.badge-list-row strong,.badge-list-row span{display:block}.badge-list-row span{font-size:13px;color:var(--muted)}.badge-code{font-weight:900;color:var(--red)}.zones{font-weight:900;color:var(--navy)!important}
.print-page{min-height:100vh;background:#eef3f8;display:grid;place-items:center;padding:30px}.print-badge{width:340px;min-height:500px;background:#fff;border-radius:22px;box-shadow:0 25px 60px rgba(15,43,91,.18);padding:24px;display:flex;flex-direction:column;text-align:center;overflow:hidden}.print-badge header{display:flex;align-items:center;gap:12px;text-align:left}.print-badge header img{width:52px;height:64px;object-fit:contain}.print-badge header strong,.print-badge header span{display:block}.print-badge header span{font-size:12px;color:var(--muted);letter-spacing:.12em}.print-badge-type{margin:24px -24px 18px;background:var(--red);color:#fff;font-size:34px;font-weight:950;padding:14px;letter-spacing:.08em}.print-badge h1{font-size:30px;margin:10px 0 6px}.print-badge p{margin:3px 0}.print-zones{margin:22px 0;background:var(--navy);color:#fff;border-radius:12px;padding:16px;font-size:28px;font-weight:950;letter-spacing:.08em}.print-match{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-weight:700}.print-badge footer{display:flex;justify-content:space-between;margin-top:20px;font-size:11px;color:var(--muted)}.print-button{margin-top:16px;border:0;background:var(--red);color:#fff;border-radius:10px;padding:11px 18px;font-weight:800;cursor:pointer}
@media print{body{background:#fff}.print-page{padding:0;background:#fff}.print-button{display:none}.print-badge{box-shadow:none}}
@media(max-width:1100px){.contribution-grid,.accreditation-layout,.member-form-layout{grid-template-columns:1fr}.member-form-layout article:nth-child(3),.form-actions{grid-column:auto}.family-grid{grid-template-columns:1fr 1fr}.data-row{grid-template-columns:1fr 1fr 1fr}.data-row.header{display:none}.zone-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.form-two,.check-grid,.family-grid,.zone-grid{grid-template-columns:1fr}.data-row{grid-template-columns:1fr}.table-search{min-width:0;width:100%}.badge-list-row{grid-template-columns:1fr 1fr}}


/* FFC ClubOS 0.1.8 – XLSX Mitgliederimport */
.page-actions{display:flex;gap:10px;align-items:center}
.import-start-grid{grid-template-columns:1.1fr .9fr}
.template-card{display:flex;flex-direction:column}.template-card .primary-link{margin-top:auto}
.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mapping-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f9fbfd}
.mapping-card .source-header{font-weight:850;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mapping-card select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:var(--navy)}
.import-preview-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}
.import-preview{border-collapse:collapse;min-width:1200px;width:100%;font-size:12px}
.import-preview th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:10px;white-space:nowrap}
.import-preview td{padding:9px 10px;border-top:1px solid var(--line);white-space:nowrap}
.import-preview tr:nth-child(even) td{background:#f8fafc}
.import-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.import-note{color:var(--muted);font-size:13px;max-width:760px}
.import-submit{width:auto;min-width:180px}
@media(max-width:1000px){.mapping-grid{grid-template-columns:1fr 1fr}.import-start-grid{grid-template-columns:1fr}}
@media(max-width:650px){.mapping-grid{grid-template-columns:1fr}.page-actions,.import-actions{align-items:stretch;flex-direction:column}.page-actions a,.import-submit{width:100%}}

/* FFC ClubOS 0.1.13 – Print-Templates Akkreditierung & Mitgliedsausweis */
.table-toolbar-extended{flex-wrap:wrap}
.toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.card-head-stack{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.member-data-table .member-grid-row{grid-template-columns:52px 1.25fr 1.4fr 1fr 1fr .7fr .55fr .7fr}
.member-data-table .check-col{display:flex;align-items:center;justify-content:center}
.row-check{display:flex;align-items:center;justify-content:center}
.badge-list-row-selectable{grid-template-columns:34px 100px 1fr 110px auto}
.brand-logo{width:68px;height:82px;object-fit:contain}

.pass-print-screen,.wallet-print-screen{padding:22px;background:#eef3f8;min-height:100vh}
.print-toolbar{display:flex;justify-content:center;margin-bottom:18px}
.pass-sheet{display:flex;gap:12mm;justify-content:center;align-items:flex-start;flex-wrap:wrap;margin:0 auto 12mm}
.pass-card{position:relative;width:63mm;height:91mm;border-radius:7mm;background:#fff;overflow:hidden;box-shadow:0 16px 40px rgba(15,43,91,.16);padding:5.5mm;color:var(--navy);display:flex;flex-direction:column;border:1px solid #dbe4ef}
.pass-card:before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 50% -10%, rgba(255,255,255,.95), rgba(255,255,255,.78) 42%, rgba(255,255,255,.88) 65%, rgba(255,255,255,.96) 100%),
  linear-gradient(145deg, rgba(15,43,91,.03), rgba(15,43,91,0) 45%),
  linear-gradient(135deg, rgba(231,25,45,.12) 0 14%, transparent 14% 86%, rgba(15,43,91,.09) 86% 100%);
  pointer-events:none}
.pass-card:after{content:"";position:absolute;right:-16mm;bottom:-12mm;width:42mm;height:42mm;border-radius:50%;background:radial-gradient(circle, rgba(15,43,91,.08), rgba(15,43,91,0) 70%);pointer-events:none}
.pass-overlay{position:absolute;inset:0;background:
  linear-gradient(18deg, rgba(231,25,45,.88) 0 1.8mm, transparent 1.8mm 100%),
  linear-gradient(135deg, transparent 0 83%, rgba(231,25,45,.95) 83% 89%, rgba(15,43,91,.98) 89% 100%),
  linear-gradient(225deg, transparent 0 90%, rgba(15,43,91,.96) 90% 100%);
  opacity:.95;pointer-events:none}
.pass-card > *{position:relative;z-index:1}
.pass-header{display:flex;align-items:center;gap:3.2mm;margin-bottom:4mm}
.pass-header.small{margin-bottom:3.5mm}
.pass-header img{width:15mm;height:20mm;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(15,43,91,.15))}
.pass-header strong{display:block;font-size:7mm;line-height:1;font-weight:950;letter-spacing:.02em}
.pass-header span{display:block;font-size:3.2mm;letter-spacing:.14em;font-weight:800;color:var(--red);margin-top:1.1mm}
.pass-hero{padding:3.5mm 4mm;border-radius:4.2mm;background:linear-gradient(135deg, rgba(15,43,91,.96), rgba(33,61,113,.92));color:#fff;margin-bottom:3.4mm;border:1px solid rgba(255,255,255,.18)}
.pass-title{font-size:7.6mm;font-weight:950;line-height:1;margin-bottom:1mm}
.pass-subtitle{font-size:3.2mm;opacity:.95;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.pass-field{background:rgba(255,255,255,.9);border:1px solid #d8e1ec;border-radius:4mm;padding:3mm 3.4mm;margin-bottom:2.6mm;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.pass-field.primary{border-color:#f3a1ab;background:linear-gradient(180deg, rgba(255,245,246,.98), rgba(255,255,255,.94))}
.pass-field.compact{padding:2.6mm 3mm}
.pass-field-label{font-size:2.5mm;letter-spacing:.16em;font-weight:900;color:var(--red);margin-bottom:1mm}
.pass-field-value{font-size:3.3mm;line-height:1.25;font-weight:800;color:var(--navy)}
.pass-field-value.large{font-size:4.4mm;line-height:1.15}
.pass-field-value.small{font-size:3mm}
.pass-field-meta{font-size:2.65mm;color:#566d8f;margin-top:1mm;line-height:1.25}
.chip-row{display:flex;flex-wrap:wrap;gap:1.6mm}
.pass-chip{display:inline-flex;align-items:center;justify-content:center;min-width:8mm;padding:1.3mm 2.6mm;border-radius:99px;background:var(--navy);color:#fff;font-size:2.9mm;font-weight:900;letter-spacing:.05em}
.pass-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin-top:auto}
.pass-claim{margin-top:2.3mm;padding-top:2.4mm;border-top:1px solid #dbe4ef;text-align:center;font-size:2.5mm;letter-spacing:.19em;font-weight:900;color:var(--navy)}
.qr-box{background:rgba(255,255,255,.94);border:1px solid #d8e1ec;border-radius:4.2mm;padding:3.2mm;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2mm;margin:1mm 0 2.4mm;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.qr-box img{width:34mm;height:34mm;background:#fff;border-radius:2mm;padding:1.4mm;border:1px solid #e3eaf2}
.qr-box p{margin:0;font-size:2.5mm;color:#5b6c84;line-height:1.3}
.note-field{margin-top:auto}

.member-cards-sheet{display:flex;flex-wrap:wrap;gap:9mm;justify-content:center}
.member-wallet-card{position:relative;width:94mm;height:55mm;border-radius:5.5mm;overflow:hidden;background:#fff;box-shadow:0 18px 42px rgba(15,43,91,.16);padding:4.2mm;display:flex;flex-direction:column;border:1px solid #dbe4ef}
.member-wallet-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)),radial-gradient(circle at 20% 110%, rgba(231,25,45,.16), rgba(231,25,45,0) 35%),radial-gradient(circle at 100% 0, rgba(15,43,91,.15), rgba(15,43,91,0) 38%);pointer-events:none}
.member-wallet-card:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg, transparent 0 86%, rgba(15,43,91,.97) 86% 100%),linear-gradient(200deg, rgba(231,25,45,.96) 0 4mm, transparent 4mm 100%),linear-gradient(20deg, rgba(15,43,91,.98) 0 3.6mm, transparent 3.6mm 100%);pointer-events:none}
.member-wallet-card > *{position:relative;z-index:1}
.wallet-card-bg{position:absolute;inset:auto -6mm -8mm auto;width:40mm;height:40mm;border-radius:50%;background:radial-gradient(circle, rgba(15,43,91,.08), rgba(15,43,91,0) 72%);z-index:0}
.wallet-header{display:flex;align-items:center;gap:3mm;margin-bottom:2.8mm}
.wallet-header img{width:13mm;height:17mm;object-fit:contain}
.wallet-header strong{display:block;font-size:6.6mm;line-height:1;font-weight:950}
.wallet-header span{display:block;color:var(--red);font-size:3mm;font-weight:900;letter-spacing:.12em;margin-top:.8mm}
.wallet-name{font-size:5.2mm;font-weight:950;color:var(--navy);margin-bottom:2.2mm}
.wallet-body{display:flex;flex-direction:column;gap:2mm;flex:1}
.wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2mm}
.wallet-field{background:rgba(255,255,255,.86);border:1px solid #dbe4ef;border-radius:3.2mm;padding:2.2mm 2.6mm;min-height:13mm}
.wallet-field.wide{grid-column:1/-1}
.wallet-field span{display:block;color:var(--red);font-size:2.2mm;font-weight:900;letter-spacing:.14em;margin-bottom:.8mm}
.wallet-field strong{display:block;color:var(--navy);font-size:3.4mm;line-height:1.25}
.wallet-footer{display:flex;justify-content:space-between;align-items:center;gap:4mm;margin-top:auto;padding-top:2.2mm;border-top:1px solid #dbe4ef;color:#4d6282;font-size:2.35mm;font-weight:800;letter-spacing:.08em}
.wallet-footer span:last-child{text-align:right}

@page pass-page{size:auto;margin:10mm}
@page wallet-page{size:auto;margin:10mm}
@media print{
  body{background:#fff}
  .topbar,.sidebar,.content > *:not(.pass-print-screen):not(.wallet-print-screen){display:none!important}
  .print-toolbar,.print-button{display:none!important}
  .pass-print-screen,.wallet-print-screen{padding:0;background:#fff;min-height:auto}
  .pass-sheet{page-break-after:always;break-after:page;margin:0 0 8mm;gap:6mm}
  .pass-card,.member-wallet-card{box-shadow:none}
  .member-cards-sheet{justify-content:flex-start;gap:4mm}
  .member-wallet-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:4mm}
}
@media(max-width:1100px){.member-data-table .member-grid-row{grid-template-columns:40px 1fr 1fr 1fr}.member-data-table .member-grid-row > :nth-child(5),.member-data-table .member-grid-row > :nth-child(6),.member-data-table .member-grid-row > :nth-child(7),.member-data-table .member-grid-row > :nth-child(8){grid-column:auto}}
@media(max-width:700px){.member-data-table .member-grid-row{grid-template-columns:36px 1fr}.badge-list-row-selectable{grid-template-columns:30px 1fr}.pass-sheet{gap:18px}.pass-card{width:min(100%,63mm)}.member-wallet-card{width:min(100%,94mm)}}

/* FFC ClubOS 0.1.10 – Badge Defaults & Live Preview */
.accreditation-builder{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}
.accreditation-form-card{min-width:0}
.accreditation-preview-card{position:sticky;top:92px;min-width:0}
.zone-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--muted);font-size:13px}
.mini-link{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;padding:0}
.badge-live-stage{display:grid;place-items:center;padding:8px 0 4px}
.badge-live-card{position:relative;width:min(100%,315px);aspect-ratio:63/91;background:#fff;border-radius:24px;border:1px solid #dbe4ef;box-shadow:0 22px 55px rgba(15,43,91,.13);padding:18px;overflow:hidden;display:flex;flex-direction:column;color:var(--navy)}
.badge-live-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.89)),radial-gradient(circle at 100% 0,rgba(15,43,91,.14),rgba(15,43,91,0) 33%),radial-gradient(circle at 0 100%,rgba(231,25,45,.14),rgba(231,25,45,0) 35%);pointer-events:none}
.badge-live-decoration{position:absolute;inset:0;background:linear-gradient(145deg,transparent 0 89%,rgba(15,43,91,.97) 89% 100%),linear-gradient(22deg,rgba(231,25,45,.95) 0 10px,transparent 10px 100%);pointer-events:none}
.badge-live-card>*{position:relative;z-index:1}
.badge-live-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.badge-live-header img{width:48px;height:58px;object-fit:contain}
.badge-live-header strong{display:block;font-size:24px;line-height:1;font-weight:950}.badge-live-header span{display:block;color:var(--red);font-size:11px;letter-spacing:.14em;font-weight:900;margin-top:5px}
.badge-live-type{background:linear-gradient(135deg,var(--navy),#203f75);color:#fff;border-radius:13px;padding:12px 14px;margin-bottom:10px}.badge-live-type strong{display:block;font-size:27px;line-height:1}.badge-live-type span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px;opacity:.9}
.badge-live-field{border:1px solid #dbe4ef;background:rgba(255,255,255,.92);border-radius:12px;padding:10px 11px;margin-bottom:8px}.badge-live-field.primary{border-color:#f2b3bb;background:#fff7f8}.badge-live-field>span,.badge-live-number span{display:block;color:var(--red);font-size:9px;letter-spacing:.13em;font-weight:900;margin-bottom:4px}.badge-live-field strong{display:block;font-size:13px;line-height:1.25}.badge-live-field small{display:block;color:var(--muted);margin-top:3px;font-size:10px}
.badge-live-zones{display:flex;flex-wrap:wrap;gap:5px}.badge-live-zones em{font-size:11px;color:var(--muted)}.badge-live-chip{display:inline-flex;min-width:26px;height:25px;align-items:center;justify-content:center;border-radius:99px;background:var(--navy);color:#fff;font-size:10px;font-weight:900}
.badge-live-number{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px solid #dbe4ef;padding-top:9px;margin-top:auto}.badge-live-number span{margin:0}.badge-live-number strong{font-size:12px}
.badge-live-card footer{text-align:center;font-size:8px;letter-spacing:.13em;font-weight:900;margin-top:9px;color:#566d8f}
.preview-status{font-size:12px;border-radius:999px;background:#edf3fb;color:#4e6688;padding:6px 9px;font-weight:800}.preview-note{font-size:12px;color:var(--muted);line-height:1.45;margin:10px 0 0}

.badge-defaults-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);gap:18px;align-items:start}.badge-defaults-card{min-width:0}.badge-default-list{display:grid;gap:12px}.badge-default-row{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f9fbfd}.badge-default-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:11px}.badge-default-head strong,.badge-default-head span{display:block}.badge-default-head span{color:var(--muted);font-size:12px;margin-top:3px}.zone-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.zone-grid-compact .zone-check{padding:7px;font-size:12px}.zone-grid-compact .zone-check b{min-width:21px;height:21px;font-size:10px}.zone-master-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.zone-create-form{max-width:780px}

@media(max-width:1180px){.accreditation-builder,.badge-defaults-grid{grid-template-columns:1fr}.accreditation-preview-card{position:static}.zone-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.zone-grid-compact{grid-template-columns:1fr 1fr}.badge-default-head{align-items:flex-start;flex-direction:column}.badge-default-head .ghost-btn{width:100%}.zone-master-list{grid-template-columns:1fr}}
@media(max-width:520px){.zone-grid-compact{grid-template-columns:1fr}.badge-live-card{width:100%}}

/* FFC ClubOS 0.1.11 – Match-Sync, Saisonakkreditierung, Business & Check-in */
.button-reset{border:0;font:inherit;cursor:pointer}
.match-sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.team-sync-card .sync-now-form{margin-top:12px}
.match-table{display:grid}
.match-row{display:grid;grid-template-columns:120px 1fr 1.25fr 90px 1.1fr 110px 100px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.match-row.header{border-top:0;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.match-row small{display:block;color:var(--muted);margin-top:2px}
.business-upgrade-card{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:12px!important;border:1px solid #f2c061;border-radius:12px;padding:13px 14px;background:#fffaf0}
.business-upgrade-card input{width:auto!important;margin-top:3px}
.business-upgrade-card strong,.business-upgrade-card small{display:block}.business-upgrade-card small{font-weight:500;color:#7a6740;margin-top:4px;line-height:1.35}
.zone-check.business-zone{border-color:#e8bf64;background:#fffbf2}.zone-check.business-zone b{background:#b28723}
.checkin-layout{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(320px,1fr);gap:18px;align-items:start}
.checkin-result{grid-column:2}.checkin-result.approved{border:2px solid #7cc99a;background:linear-gradient(180deg,#f5fff8,#fff)}.checkin-result.denied{border:2px solid #f1a0ab;background:#fff7f8}
.checkin-big-status{font-size:12px;letter-spacing:.18em;font-weight:950;color:#148143;margin-bottom:10px}.checkin-result.denied .checkin-big-status{color:var(--red)}
.checkin-result h2{font-size:28px;margin:0 0 5px}.checkin-result p{margin:0;color:var(--muted)}
.checkin-zones{margin:14px 0;padding:12px;border-radius:10px;background:var(--navy);color:#fff;font-weight:900;letter-spacing:.08em}
.checkin-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}
.checkin-match-card{grid-column:1/-1}.checkin-match-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.checkin-match-row strong,.checkin-match-row span{display:block}.checkin-match-row span{color:var(--muted);font-size:13px;margin-top:3px}.already-in{display:flex;align-items:center;gap:10px;color:#148143}.already-in form{margin:0}
.scanner-hint{margin-top:14px;background:#f4f7fb;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:13px;color:var(--muted)}
@media(max-width:1050px){.match-sync-grid,.checkin-layout{grid-template-columns:1fr}.checkin-result{grid-column:auto}.match-row{grid-template-columns:1fr 1fr 1fr}.match-row.header{display:none}}
@media(max-width:700px){.match-row{grid-template-columns:1fr}.checkin-match-row{align-items:stretch;flex-direction:column}.already-in{align-items:stretch;flex-direction:column}.checkin-meta{flex-direction:column}}

/* FFC ClubOS 0.1.13 – Heimspiel/Event-Filter */
.match-filter-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:18px}
.match-filter-card>p{grid-column:1/-1;margin:0}
.match-tabs{display:flex;gap:8px;flex-wrap:wrap}
.match-tab{display:inline-flex;align-items:center;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:800}
.match-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.team-filter-form label,.inline-filter{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}
.team-filter-form select,.inline-filter select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;color:var(--navy);font:inherit}
.event-admin-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
.sync-summary-box{display:flex;align-items:baseline;gap:12px;margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.sync-summary-box strong{font-size:34px;color:var(--red)}
.sync-summary-box span{color:var(--muted);font-weight:700}
.event-match-row{grid-template-columns:120px 1fr 1.7fr 1.1fr .8fr 1fr}
.event-match-row small{display:block;color:var(--muted);margin-top:4px}
.source-pill{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;white-space:nowrap}
.source-pill.sync{background:#eaf3ff;color:#235f9e}.source-pill.manual{background:#fff0f2;color:var(--red)}
.empty-state{padding:28px;text-align:center;color:var(--muted)}
.admin-details{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.admin-details summary{cursor:pointer;padding:16px 18px;font-weight:850;color:var(--navy);background:#fff}
.admin-details[open] summary{border-bottom:1px solid var(--line)}
.details-body{padding:18px}.no-shadow{box-shadow:none}
.match-picker-block{display:grid;gap:14px}
.inline-filter span{color:var(--muted)}
@media(max-width:1000px){.match-filter-card,.event-admin-grid{grid-template-columns:1fr}.event-match-row{grid-template-columns:1fr 1fr 1.4fr}.event-match-row.header{display:none}}
@media(max-width:650px){.event-match-row{grid-template-columns:1fr}.match-tabs{display:grid;grid-template-columns:1fr 1fr}.team-filter-form label,.inline-filter{align-items:stretch;flex-direction:column}.team-filter-form select,.inline-filter select{width:100%}}


/* FFC ClubOS 0.1.13 – Member card fit fixes + Heimspiel naming */
.member-wallet-card{padding:3.2mm;height:55mm}
.wallet-header.compact{gap:2.2mm;margin-bottom:1.8mm;align-items:flex-start}
.wallet-header.compact img{width:10.5mm;height:13.5mm}
.wallet-header.compact strong{font-size:5.6mm}
.wallet-header.compact span{font-size:2.5mm;letter-spacing:.10em;margin-top:.5mm}
.wallet-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:14mm;height:7mm;padding:0 2mm;border-radius:999px;background:var(--navy);color:#fff;font-size:2.5mm;font-weight:900;letter-spacing:.08em}
.wallet-body.compact{gap:0;flex:1;display:flex}
.wallet-grid.compact{gap:1.6mm;align-content:start;width:100%}
.wallet-field{min-height:10.4mm;padding:1.7mm 2.2mm;border-radius:2.8mm}
.wallet-field span{font-size:1.95mm;margin-bottom:.55mm;letter-spacing:.12em}
.wallet-field strong{font-size:3mm;line-height:1.18}
.wallet-field.hero-field{min-height:11.4mm}
.wallet-field.hero-field strong{font-size:4.6mm;line-height:1.05}
.wallet-field.compact-status strong{font-size:2.75mm;line-height:1.18}
.wallet-footer.compact{padding-top:1.4mm;font-size:2.05mm;line-height:1.15}

/* FFC ClubOS 0.1.14 – Dashboard live, QR member card, public validation */
.wallet-grid.compact{gap:1.25mm}
.wallet-field{min-height:9.4mm;padding:1.35mm 2mm}
.wallet-field.hero-field{min-height:10.2mm}
.wallet-field span{font-size:1.75mm;margin-bottom:.35mm}
.wallet-field strong{font-size:2.75mm}
.wallet-field.hero-field strong{font-size:4.1mm}
.wallet-field.compact-status strong{font-size:2.45mm}
.wallet-qr-row{display:flex;align-items:center;justify-content:space-between;gap:2.5mm;margin-top:1.25mm;padding:1.15mm 1.6mm 1.1mm 2mm;border:1px solid #dbe4ef;border-radius:2.6mm;background:rgba(255,255,255,.9)}
.wallet-qr-row > div{min-width:0}
.wallet-qr-label{display:block;color:var(--red);font-size:1.65mm;font-weight:900;letter-spacing:.12em;margin-bottom:.3mm}
.wallet-qr-row small{display:block;color:#536986;font-size:1.65mm;line-height:1.15}
.wallet-qr{width:9.5mm;height:9.5mm;flex:0 0 9.5mm;background:#fff;padding:.45mm;border-radius:1.2mm}
.wallet-footer.compact{padding-top:.85mm;font-size:1.75mm}

.public-pass-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f8}
.public-pass-card{width:min(440px,100%);background:#fff;border:1px solid #dce5f0;border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(15,43,91,.12);text-align:center}
.public-pass-card img{width:72px;height:90px;object-fit:contain;margin-bottom:10px}
.public-pass-card h1{margin:5px 0 16px;font-size:30px}
.public-pass-status{border-radius:12px;padding:12px 14px;font-weight:950;letter-spacing:.08em;margin-bottom:20px}
.public-pass-card.is-active .public-pass-status{background:#e9f7ee;color:#138447}
.public-pass-card.is-inactive .public-pass-status{background:#fff1f2;color:#b42332}
.public-pass-card dl{display:grid;gap:10px;margin:0;text-align:left}
.public-pass-card dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e7edf5;padding-top:10px}
.public-pass-card dt{color:#6f7f95;font-size:13px;font-weight:700}.public-pass-card dd{margin:0;font-weight:900;color:#0f2b5b;text-align:right}
.public-pass-note{font-size:12px;line-height:1.45;color:#6f7f95;margin:20px 0 0}


/* FFC ClubOS 0.1.15 – zweiseitiger Falt-Mitgliedsausweis */
.fold-card-sheet{display:flex;flex-direction:column;align-items:center;gap:14mm}
.fold-card-pair{display:flex;flex-direction:column;align-items:center;gap:0}
.fold-card-pair .member-wallet-card{width:94mm;height:55mm;border-radius:5.5mm}
.fold-mark{width:94mm;height:6mm;display:flex;align-items:center;justify-content:center;position:relative;color:#7a889a;font-size:2mm;font-weight:800;letter-spacing:.18em}
.fold-mark:before,.fold-mark:after{content:"";height:1px;background:#aeb9c7;flex:1}
.fold-mark span{padding:0 3mm;background:#eef3f8}
.rotated-back{transform:rotate(180deg)}
.wallet-header.reverse{display:flex;align-items:center;gap:2.5mm;margin-bottom:2.4mm}
.wallet-header.reverse img{width:10mm;height:13mm;object-fit:contain}
.wallet-header.reverse strong{display:block;font-size:5mm;line-height:1;font-weight:950}
.wallet-header.reverse span{display:block;color:var(--red);font-size:2.4mm;letter-spacing:.12em;font-weight:900;margin-top:.5mm}
.reverse-content{display:grid;grid-template-columns:1fr 1fr;gap:1.7mm;flex:1}
.reverse-field{background:rgba(255,255,255,.9);border:1px solid #dbe4ef;border-radius:2.8mm;padding:1.8mm 2.1mm;min-height:12mm}
.reverse-field span{display:block;color:var(--red);font-size:1.9mm;font-weight:900;letter-spacing:.12em;margin-bottom:.65mm}
.reverse-field strong{display:block;color:var(--navy);font-size:3mm;line-height:1.16}
.reverse-footer{margin-top:1.6mm}
@media print{
  .fold-card-sheet{gap:0}
  .fold-card-pair{page-break-inside:avoid;break-inside:avoid;margin:0 auto 8mm}
  .fold-mark span{background:#fff}
  .member-wallet-card{box-shadow:none}
}


/* FFC ClubOS 0.1.16 – QR auf der Rückseite des Mitgliedsausweises */
.reverse-layout{display:grid;grid-template-columns:minmax(0,1fr) 24mm;gap:2mm;flex:1;min-height:0}
.reverse-layout .reverse-content{grid-template-columns:1fr 1fr;gap:1.4mm}
.reverse-layout .reverse-field{min-height:10.6mm;padding:1.45mm 1.7mm}
.reverse-layout .reverse-field span{font-size:1.55mm;margin-bottom:.4mm}
.reverse-layout .reverse-field strong{font-size:2.55mm;line-height:1.12}
.member-card-qr-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.92);border:1px solid #dbe4ef;border-radius:2.8mm;padding:1.7mm}
.member-card-qr-panel > span{display:block;color:var(--red);font-size:1.55mm;font-weight:900;letter-spacing:.1em;margin-bottom:.8mm}
.member-card-qr-panel img{width:18.5mm;height:18.5mm;background:#fff;padding:.6mm;border:1px solid #e2e8f0;border-radius:1.2mm}
.member-card-qr-panel small{display:block;margin-top:.8mm;color:#5c6f89;font-size:1.45mm;line-height:1.12}

/* FFC ClubOS 0.1.17 – Sponsoren & Club 200 */
.sponsor-layout,.club200-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
.contract-builder{display:grid;gap:14px}
.contract-builder label{display:grid;gap:7px;font-size:14px;font-weight:800}
.contract-builder input,.contract-builder select,.contract-builder textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#f8fafc;color:var(--navy);font:inherit}
.form-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.form-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.contract-print-screen{min-height:100vh;background:#edf2f7;padding:24px}
.legal-document{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:20mm 22mm;box-shadow:0 18px 48px rgba(15,43,91,.14);color:#172a49;font-family:Arial,Helvetica,sans-serif;line-height:1.45}
.legal-header{display:flex;align-items:center;gap:8mm;padding-bottom:7mm;border-bottom:1px solid #dce4ef;margin-bottom:10mm}
.legal-header img{width:28mm;height:34mm;object-fit:contain}
.legal-header strong{display:block;font-size:9mm;color:var(--navy);line-height:1}
.legal-header span{display:block;font-size:4mm;color:var(--red);font-weight:900;letter-spacing:.11em;margin-top:2mm}
.legal-document h1{text-align:center;font-size:8mm;margin:7mm 0 10mm;color:var(--navy)}
.legal-document h2{font-size:5mm;margin:7mm 0 2.5mm;color:var(--navy)}
.legal-document p,.legal-document li{font-size:3.6mm}
.legal-document .center{text-align:center}
.legal-document ul{padding-left:7mm}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:15mm;margin-top:18mm;font-size:3.5mm}
.declaration-fields{display:grid;grid-template-columns:1fr 1fr;gap:2.5mm;margin:5mm 0}
.declaration-fields>div{border:1px solid #9ba9bb;min-height:11mm;padding:2mm 3mm;display:grid;grid-template-columns:32mm 1fr;align-items:center}
.declaration-fields>div.wide{grid-column:1/-1}
.declaration-fields span{font-size:3.2mm;font-weight:700;color:#53677f}
.declaration-fields strong{font-size:3.6mm;font-weight:700}
.small-print{margin-top:12mm;font-size:3mm!important;color:#53677f}
@media(max-width:1100px){.sponsor-layout,.club200-layout,.form-three,.form-four{grid-template-columns:1fr 1fr}.legal-document{width:100%;min-height:auto}}
@media(max-width:700px){.form-three,.form-four,.declaration-fields{grid-template-columns:1fr}.declaration-fields>div.wide{grid-column:auto}.legal-document{padding:18px}.contract-print-screen{padding:0}}
@media print{.contract-print-screen{padding:0;background:#fff}.legal-document{box-shadow:none;width:210mm;min-height:297mm;margin:0;padding:15mm 18mm}.print-toolbar{display:none!important}}

/* FFC ClubOS 0.1.18 – editierbare Sponsorenpakete */
.sponsor-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.package-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;background:#f9fbfd;padding:14px}
.package-editor.package-inactive{opacity:.68}
.package-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.package-editor-head>div{display:grid;gap:3px}.package-editor-head strong{font-size:19px}.package-code{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--red)}
.package-editor label,.compact-package-create label{display:grid;gap:6px;font-size:13px;font-weight:800}.package-editor input,.package-editor textarea,.compact-package-create input,.compact-package-create textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;color:var(--navy);font:inherit}
.package-toggle-form{margin-top:-8px;margin-bottom:10px;text-align:right}.package-actions{justify-content:flex-end}.compact-package-create{margin-top:12px}
@media(max-width:1100px){.sponsor-package-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sponsor-package-grid{grid-template-columns:1fr}}

/* FFC ClubOS 0.1.19 – zubuchbare Sponsorenleistungen */
.package-shell,.addon-admin-card{border:1px solid var(--line);border-radius:14px;background:#f9fbfd;padding:12px}
.package-shell .package-editor{border:0;padding:0;background:transparent}
.package-toggle-form{margin-top:8px}
.addon-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.addon-admin-card{display:grid;gap:8px}.compact-addon-form{gap:9px}
.addon-booking-block{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8fafc}
.addon-booking-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.addon-booking-head span{font-size:13px;color:var(--muted)}
.addon-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.addon-booking-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;display:grid;gap:10px;transition:.15s ease}
.addon-booking-card.selected{border-color:#ef7f8c;box-shadow:0 0 0 2px rgba(231,25,45,.08)}
.addon-toggle{display:flex!important;align-items:flex-start;gap:10px!important;cursor:pointer}.addon-toggle input{width:auto!important;margin-top:3px}.addon-toggle strong,.addon-toggle small{display:block}.addon-toggle small{font-weight:500;color:var(--muted);margin-top:3px;line-height:1.3}
.addon-fields{display:grid;grid-template-columns:80px 1fr;gap:8px}.addon-line-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:8px;font-size:13px}.addon-line-total strong{color:var(--red)}
.contract-total-preview{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:end;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,var(--navy),#244878);color:#fff}.contract-total-preview span{font-weight:800}.contract-total-preview strong{font-size:26px}.contract-total-preview small{grid-column:1/-1;opacity:.75}
.contract-addon-table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:13px}.contract-addon-table th,.contract-addon-table td{border:1px solid #d9e1ec;padding:7px 8px;text-align:left}.contract-addon-table th{background:#f4f7fb}
@media(max-width:1100px){.addon-admin-grid,.addon-booking-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.addon-admin-grid,.addon-booking-grid{grid-template-columns:1fr}.addon-booking-head{align-items:flex-start;flex-direction:column}}

/* FFC ClubOS 0.1.20 – Sponsorenpaket-Kalkulation & VIP-Tagesplätze */
.contract-package-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.contract-package-choice{position:relative;display:flex!important;flex-direction:column;gap:5px!important;border:2px solid var(--line);border-radius:14px;padding:15px;background:#fff;cursor:pointer;transition:.15s ease}
.contract-package-choice:hover{border-color:#b9c7da;transform:translateY(-1px)}
.contract-package-choice.selected{border-color:var(--red);background:#fff7f8;box-shadow:0 8px 24px rgba(231,25,45,.09)}
.contract-package-choice input{position:absolute;right:12px;top:12px;width:auto!important}
.contract-package-choice strong{font-size:17px;color:var(--navy);padding-right:24px}
.contract-package-choice span{font-size:12px;color:var(--muted);line-height:1.35}
.contract-total-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contract-total-preview>div{display:flex;flex-direction:column;gap:3px}
.contract-seat-summary{padding-left:14px;border-left:1px solid rgba(255,255,255,.35)}
.contract-seat-summary b{font:inherit}
.matchday-seat-form{margin-top:14px}
.matchday-seat-total{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc;margin:4px 0 10px}
.matchday-seat-total span{font-weight:800;color:var(--muted)}
.matchday-seat-total strong{font-size:24px;color:var(--navy)}
.matchday-booking-list{margin-top:18px;border-top:1px solid var(--line)}
@media(max-width:1100px){.contract-package-picker{grid-template-columns:1fr 1fr}.contract-total-preview{grid-template-columns:1fr}.contract-seat-summary{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.35);padding-top:10px}}
@media(max-width:650px){.contract-package-picker{grid-template-columns:1fr}}

/* FFC ClubOS 0.1.22 – Finanzen, Sponsoren-Upgrades, A6-Akkreditierung */
.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.finance-kpi span,.finance-kpi small{display:block;color:var(--muted)}.finance-kpi strong{display:block;font-size:34px;margin:8px 0;color:var(--navy)}
.finance-layout{grid-template-columns:1fr 1fr}.finance-booking-list{margin-bottom:14px}.invoice-items{display:grid;gap:8px;margin:12px 0 4px}.invoice-item-row,.invoice-item-head{display:grid;grid-template-columns:minmax(240px,1fr) 100px 130px 90px;gap:8px}.invoice-item-row input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#f8fafc}.invoice-item-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;margin-bottom:12px}.inline-run-form{margin-top:14px}.finance-invoice-table{display:grid}.finance-invoice-row{display:grid;grid-template-columns:110px minmax(180px,1.4fr) 110px 110px 110px 90px minmax(180px,auto);gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.finance-invoice-row.header{border-top:0;text-transform:uppercase;font-size:11px;color:var(--muted);font-weight:900}
.invoice-print-screen{background:#eef3f8;min-height:100vh;padding:24px}.invoice-document{width:210mm;min-height:297mm;margin:auto;background:#fff;padding:18mm 18mm 16mm;color:#172b4d;box-shadow:0 18px 50px rgba(15,43,91,.14);font-size:10.5pt}.invoice-header{display:flex;align-items:center;gap:8mm;border-bottom:1px solid #dce4ef;padding-bottom:7mm}.invoice-header img{width:20mm;height:25mm;object-fit:contain}.invoice-header strong{display:block;font-size:20pt}.invoice-header span{display:block;color:#63748c;margin-top:2mm}.invoice-address{display:flex;flex-direction:column;width:90mm;min-height:42mm;margin:13mm 0 8mm}.invoice-address small{font-size:7.5pt;text-decoration:underline;color:#65758a;margin-bottom:5mm}.invoice-address strong{font-size:12pt;margin-bottom:2mm}.invoice-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin:5mm 0 10mm}.invoice-title-row h1{font-size:27pt;margin:0}.invoice-title-row h2{font-size:14pt;color:var(--red);margin:1mm 0}.invoice-title-row dl{margin:0;width:70mm}.invoice-title-row dl div{display:flex;justify-content:space-between;gap:5mm;padding:1.5mm 0;border-bottom:1px solid #e5ebf3}.invoice-title-row dt{color:#677890}.invoice-title-row dd{margin:0;font-weight:800}.invoice-print-table{width:100%;border-collapse:collapse}.invoice-print-table th{background:var(--navy);color:#fff;padding:3mm 2mm;text-align:left}.invoice-print-table td{padding:3mm 2mm;border-bottom:1px solid #e1e7ef;vertical-align:top}.invoice-totals{width:78mm;margin:8mm 0 8mm auto}.invoice-totals div{display:flex;justify-content:space-between;padding:2mm 0;border-bottom:1px solid #e1e7ef}.invoice-totals .grand{font-size:14pt;color:var(--navy);border-top:2px solid var(--navy);border-bottom:0;margin-top:2mm}.invoice-note{background:#f5f8fc;border-radius:3mm;padding:4mm}.invoice-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8mm;border-top:1px solid #dce4ef;margin-top:18mm;padding-top:5mm;font-size:8pt;color:#66758a;line-height:1.45}
.contract-seat-summary small{display:block;margin-top:4px}

.a6-print-screen{background:#eaf0f6;min-height:100vh;padding:18px}.a6-badge-page{position:relative;width:105mm;height:148mm;margin:0 auto 10mm;background:#fff;overflow:hidden;padding:9mm;color:var(--navy);box-shadow:0 16px 45px rgba(15,43,91,.16);display:flex;flex-direction:column;page-break-after:always;break-after:page}.a6-badge-page>*{position:relative;z-index:1}.a6-bg{position:absolute;z-index:0;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(245,248,252,.92)),radial-gradient(circle at 95% 5%,rgba(231,25,45,.13),transparent 32%),radial-gradient(circle at 0 100%,rgba(15,43,91,.12),transparent 38%)}.a6-badge-page:after{content:"";position:absolute;right:-25mm;bottom:-17mm;width:65mm;height:50mm;transform:rotate(-18deg);background:linear-gradient(135deg,var(--red) 0 35%,var(--navy) 35% 68%,transparent 68%);opacity:.95}.a6-header{display:flex;align-items:center;gap:5mm;margin-bottom:5mm}.a6-header img{width:20mm;height:25mm;object-fit:contain}.a6-header strong{display:block;font-size:10mm;line-height:.95}.a6-header span{display:block;font-size:3.8mm;color:var(--red);font-weight:900;letter-spacing:.14em;margin-top:1.5mm}.a6-header.compact img{width:15mm;height:19mm}.a6-header.compact strong{font-size:8mm}.a6-type{background:var(--navy);color:#fff;border-radius:4mm;padding:5mm 6mm;margin-bottom:4mm}.a6-type strong{display:block;font-size:11mm;line-height:1}.a6-type span{display:block;font-size:3.5mm;text-transform:uppercase;letter-spacing:.13em;margin-top:2mm}.a6-event,.a6-main-name,.a6-info-grid>div,.a6-zones,.a6-back-note{background:rgba(255,255,255,.93);border:1px solid #dbe4ef;border-radius:4mm;padding:4mm;margin-bottom:3.5mm}.a6-event{border-color:#f19aa5;background:#fff7f8}.a6-badge-page small{display:block;font-size:2.8mm;color:var(--red);letter-spacing:.13em;font-weight:900;margin-bottom:1.2mm}.a6-event strong{display:block;font-size:4.2mm;line-height:1.28}.a6-event span{display:block;font-size:3mm;color:#64758d;margin-top:1.5mm}.a6-main-name strong{display:block;font-size:8mm;line-height:1.05}.a6-main-name span{display:block;color:#64758d;font-size:3.5mm;margin-top:1.5mm}.a6-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.a6-info-grid>div{margin:0}.a6-info-grid strong{font-size:4mm;line-height:1.2}.a6-zones{margin-top:3.5mm}.a6-zones>div{display:flex;flex-wrap:wrap;gap:2mm}.a6-zones span{display:inline-flex;align-items:center;justify-content:center;min-width:12mm;padding:2mm 3mm;background:var(--navy);color:#fff;border-radius:99px;font-size:4mm;font-weight:950}.a6-badge-page footer{margin-top:auto;text-align:center;font-size:3.2mm;letter-spacing:.2em;font-weight:950;border-top:1px solid #dbe4ef;padding-top:3mm}.a6-back .a6-header{margin-bottom:5mm}.a6-qr{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #dbe4ef;border-radius:5mm;padding:5mm;margin:2mm auto 5mm;width:72mm}.a6-qr img{width:50mm;height:50mm;object-fit:contain;background:#fff}.a6-qr strong{font-size:4mm;margin-top:2mm}.a6-qr span{font-size:3mm;color:#677890;margin-top:1mm}.back-event{margin-bottom:4mm}.a6-back-note{font-size:3.2mm;line-height:1.4;color:#445b7b}
@page{size:A6 portrait;margin:0}
@media print{.invoice-print-screen{padding:0;background:#fff}.invoice-document{box-shadow:none;margin:0;width:210mm;min-height:297mm}.a6-print-screen{padding:0;background:#fff}.a6-badge-page{width:105mm;height:148mm;margin:0;box-shadow:none;page-break-after:always;break-after:page}.print-toolbar{display:none!important}}
@media(max-width:1050px){.finance-kpis{grid-template-columns:1fr 1fr}.finance-layout{grid-template-columns:1fr}.finance-invoice-row{grid-template-columns:1fr 1fr 1fr}.finance-invoice-row.header{display:none}.invoice-item-row,.invoice-item-head{grid-template-columns:1fr 80px 100px 70px}}
@media(max-width:700px){.finance-kpis{grid-template-columns:1fr}.finance-invoice-row,.invoice-item-row{grid-template-columns:1fr}.invoice-item-head{display:none}.a6-badge-page{width:min(100%,105mm);height:auto;min-height:148mm}}

/* FFC ClubOS 0.1.23 – Benutzer, Rollen, SMTP, Mitgliederportal */
.userbox-link{color:inherit;text-decoration:none}.userbox-link:hover{opacity:.8}
.user-admin-row{grid-template-columns:38px minmax(180px,1fr) minmax(320px,1.5fr) auto auto!important}
.user-inline-form{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;gap:8px;align-items:center}
.user-inline-form select{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}
.user-danger-actions{display:flex;gap:7px}.danger-btn{border:1px solid #ffc8cf;background:#fff5f6;color:var(--red);border-radius:8px;padding:7px 10px;cursor:pointer}
.permission-table-wrap{overflow:auto}.permission-table{border-collapse:collapse;width:100%;min-width:900px}.permission-table th,.permission-table td{padding:10px;border-bottom:1px solid var(--line);text-align:center}.permission-table th:first-child,.permission-table td:first-child{text-align:left;min-width:280px}.permission-table small{display:block;color:var(--muted);margin-top:3px}.permission-module td{background:#f3f6fa;color:var(--navy);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.permission-save{width:auto;min-width:220px}.mail-compose{max-width:900px}.mail-compose textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;background:#f8fafc;font:inherit;color:var(--navy)}
@media(max-width:1000px){.user-admin-row{grid-template-columns:38px 1fr!important}.user-inline-form{grid-column:1/-1;grid-template-columns:1fr}.user-danger-actions{grid-column:1/-1}}

/* FFC ClubOS 0.1.24 – Einladungen und Passwort-Reset */
.auth-links{margin-top:16px;text-align:center}.auth-links a{font-weight:800}
.status-pill.pending{background:#fff4d9;color:#9a6500}
.member-portal-card{grid-column:1/-1}
.member-portal-card .soft-box strong{color:var(--navy)}
.user-danger-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}


/* FFC ClubOS 0.1.25 – Social Hub */
.social-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:18px}.social-side{display:grid;gap:18px;align-content:start}.social-composer textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#f8fafc;color:var(--navy);font:inherit;resize:vertical}.channel-variant-list{display:grid;gap:10px}.channel-variant{border:1px solid var(--line);border-radius:13px;background:#f9fbfd;overflow:hidden}.channel-variant-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px}.channel-variant-body{padding:0 13px 13px;display:grid;gap:10px}.social-form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.social-primary{width:auto}.social-channel-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.social-channel-row strong,.social-channel-row span{display:block}.social-channel-row div span{font-size:12px;color:var(--muted);margin-top:3px}.social-calendar-list{display:grid}.social-post-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 100px minmax(220px,auto);gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.social-post-row strong,.social-post-row div>span{display:block}.social-post-row div>span{font-size:12px;color:var(--muted);margin-top:3px}.inline-social-schedule{display:flex;gap:7px;align-items:center}.inline-social-schedule input{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff}@media(max-width:1100px){.social-grid{grid-template-columns:1fr}.social-post-row{grid-template-columns:1fr 140px 90px}.social-post-row .row-actions{grid-column:1/-1}}@media(max-width:700px){.social-post-row{grid-template-columns:1fr}.inline-social-schedule{flex-direction:column;align-items:stretch}.social-form-actions{flex-direction:column}.social-form-actions button{width:100%}}


/* FFC ClubOS 0.1.26 – Social Tools / globale OAuth-Verbindungen */
.settings-tabs{display:flex;gap:8px;margin:-6px 0 22px;flex-wrap:wrap}
.settings-tabs a{display:inline-flex;align-items:center;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:850;text-decoration:none}
.settings-tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.social-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.provider-card{display:grid;gap:14px}
.provider-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.provider-card-head h2{margin:3px 0 0}.provider-kicker{font-size:11px;font-weight:950;letter-spacing:.14em;color:var(--red)}
.provider-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#f8fafc;color:var(--navy);font:inherit}
.provider-advanced{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:10px 12px}.provider-advanced summary{cursor:pointer;font-weight:900;margin-bottom:8px}
.callback-box{border:1px dashed #aebbd0;border-radius:10px;padding:10px 12px;background:#f8fafc;display:grid;gap:5px}.callback-box span{font-size:12px;font-weight:850;color:var(--muted)}.callback-box code{font-size:12px;overflow-wrap:anywhere}
.provider-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.provider-connect{display:inline-flex;width:auto;text-decoration:none;padding:10px 14px}
.configured{font-style:normal;color:#18834c;font-size:11px;margin-left:6px}
.provider-connections{border-top:1px solid var(--line);padding-top:8px}.connection-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.connection-row strong,.connection-row span{display:block}.connection-row span{font-size:12px;color:var(--muted);margin-top:3px}
.global-channel-list{display:grid}.global-channel-row{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(180px,1fr) 80px auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.global-channel-row label{display:grid;gap:5px;font-size:12px;font-weight:800}.global-channel-row input[type=text],.global-channel-row input:not([type]){border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.channel-platform{display:grid;gap:5px;justify-items:start}.compact-check{align-self:center;margin-bottom:7px}
@media(max-width:1100px){.social-tools-grid{grid-template-columns:1fr}.global-channel-row{grid-template-columns:120px 1fr 1fr}.global-channel-row .compact-check,.global-channel-row button{grid-row:2}}
@media(max-width:700px){.global-channel-row{grid-template-columns:1fr}.global-channel-row .compact-check,.global-channel-row button{grid-row:auto}.provider-actions{align-items:stretch;flex-direction:column}.provider-actions>*{width:100%;text-align:center}}

/* 0.1.29 Social connection cleanup */
.disconnected-row{opacity:.82}.disconnected-row .status-pill{margin-left:6px}

/* 0.1.31 Social delete controls */
.connection-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.connection-actions form{margin:0}
.global-channel-row{grid-template-columns:150px minmax(160px,1fr) minmax(180px,1fr) 80px auto auto}
.channel-delete-btn{white-space:nowrap}
@media(max-width:1100px){.global-channel-row{grid-template-columns:120px 1fr 1fr}.global-channel-row .channel-delete-btn{grid-row:2}}
@media(max-width:700px){.global-channel-row{grid-template-columns:1fr}.global-channel-row .channel-delete-btn{grid-row:auto}}

/* 0.1.32 Social publishing */
.social-error-detail{grid-column:1/-1;margin-top:8px;padding:9px 11px;border-radius:9px;background:#fff4f4;border:1px solid #f0c6c6;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.social-edit-card{max-width:1100px}
.social-post-row{align-items:start}
.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.row-actions form{margin:0}

.social-author-line{display:block;margin-top:5px;font-size:12px;opacity:.72}.calendar-admin-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin:0 0 14px}.calendar-admin-actions form{margin:0}

/* 0.1.35 Social Composer 2.0 */
.social-composer-v2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:18px;align-items:start}
.composer-main,.preview-panel{padding:0;overflow:hidden}
.composer-topbar,.preview-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid rgba(0,0,0,.08)}
.composer-topbar h2,.preview-head h3{margin:3px 0 0}.composer-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.55}
.composer-status{font-size:12px;display:flex;align-items:center;gap:7px}.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.composer-section{padding:18px 24px;border-bottom:1px solid rgba(0,0,0,.07)}.field-label{display:block;font-size:12px;font-weight:750;margin-bottom:7px}
.section-label-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:7px}.section-label-row .field-label{margin:0}.section-label-row span{font-size:11px;opacity:.55}
.composer-section input,.composer-section textarea,.composer-section select{width:100%;box-sizing:border-box}.composer-title{font-size:18px;font-weight:700}
.hashtag-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.hashtag-chips span{font-size:12px;padding:5px 8px;border-radius:999px;background:rgba(37,99,235,.08)}
.mention-checker{display:grid;grid-template-columns:140px 1fr auto;gap:8px}.mention-result{font-size:12px;margin-top:8px}.mention-result.ok{color:#15803d}.mention-result.warn{color:#a16207}
.media-drop{display:flex!important;min-height:110px;border:1.5px dashed rgba(0,0,0,.18);border-radius:14px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;background:rgba(0,0,0,.015)}
.media-drop input{display:none}.media-drop span{font-size:12px;opacity:.6}.media-url-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:10px}.media-url-row span{font-size:11px;opacity:.6}
.platform-cards{display:grid;gap:10px}.platform-card{border:1px solid rgba(0,0,0,.09);border-radius:14px;overflow:hidden;background:#fff}.platform-card-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px}
.platform-toggle{display:flex;align-items:center;gap:10px}.platform-toggle input{width:auto}.platform-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:11px;font-weight:900;background:#111;color:white}.platform-instagram .platform-badge{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.platform-facebook .platform-badge{background:#1877f2}.platform-tiktok .platform-badge{background:#111}
.platform-toggle small{display:block;font-size:11px;opacity:.55}.platform-card-body{padding:0 14px 14px}.platform-card:not(:has(.social-channel-toggle:checked)) .platform-card-body{display:none}
.tiktok-options{margin-top:10px;padding:12px;border-radius:12px;background:#f7f7f8}.tiktok-loading{font-size:11px;margin-bottom:10px;opacity:.65}.option-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;font-size:12px}.option-checks input{width:auto}
.composer-bottom{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:18px 24px}.schedule-box{min-width:220px}
.preview-panel{position:sticky;top:16px}.preview-device-tabs,.preview-platform-tabs{display:flex;gap:6px}.preview-device-tabs button,.preview-platform-tabs button{border:0;background:#f1f2f4;padding:7px 10px;border-radius:9px;font-size:12px;cursor:pointer}.preview-device-tabs button.active,.preview-platform-tabs button.active{background:#111;color:#fff}
.preview-platform-tabs{padding:12px 18px;border-bottom:1px solid rgba(0,0,0,.07);overflow:auto}.social-preview{padding:22px;background:#f4f5f7;min-height:470px;display:flex;justify-content:center}.preview-phone{background:white;border-radius:18px;box-shadow:0 10px 34px rgba(0,0,0,.10);overflow:hidden;width:100%;max-width:390px}.social-preview.desktop .preview-phone{max-width:620px;border-radius:12px}
.preview-profile{display:flex;align-items:center;gap:10px;padding:14px}.preview-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#111;color:#fff;font-size:11px;font-weight:800}.preview-profile strong,.preview-profile span{display:block}.preview-profile span{font-size:11px;opacity:.55}.preview-more{margin-left:auto!important;font-size:14px!important;opacity:.6!important}.preview-copy{white-space:pre-wrap;padding:0 14px 14px;font-size:14px;line-height:1.45}.preview-media{aspect-ratio:1/1;background:#e9eaed;display:grid;place-items:center;overflow:hidden}.preview-media img,.preview-media video{width:100%;height:100%;object-fit:cover}.preview-media-placeholder{font-size:12px;opacity:.5}.preview-actions{display:flex;justify-content:space-around;padding:12px;font-size:11px;border-top:1px solid rgba(0,0,0,.06)}.preview-note{padding:14px 18px;font-size:11px;line-height:1.45;opacity:.55}
@media(max-width:1050px){.social-composer-v2{grid-template-columns:1fr}.preview-panel{position:static}.social-preview{min-height:360px}}
@media(max-width:650px){.composer-topbar,.preview-head,.composer-bottom{align-items:flex-start;flex-direction:column}.mention-checker{grid-template-columns:1fr}.option-checks{grid-template-columns:1fr}.composer-section,.composer-topbar,.composer-bottom{padding-left:16px;padding-right:16px}}

/* 0.1.36 Graphic templates */
.template-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.template-card{position:relative;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#0a244d;cursor:pointer;padding:0;text-align:left;color:white}
.template-card.active{border-color:#ff1734;box-shadow:0 0 0 2px rgba(255,23,52,.14)}
.template-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.template-card span{display:block;padding:8px 10px;font-size:15px;font-weight:600}
.template-builder{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);gap:14px;margin-top:12px}
.template-fields{display:grid;gap:10px}
.text-block-grid{display:flex;gap:7px;flex-wrap:wrap}
.text-block-btn{border:1px solid rgba(0,0,0,.12);background:#fff;padding:7px 11px;border-radius:999px;cursor:pointer;font-weight:600}
.template-stage-wrap{background:#071b3b;padding:14px;border-radius:14px;display:flex;justify-content:center}
.template-stage{position:relative;width:min(100%,420px);aspect-ratio:4/5;background:#082c61 center/cover no-repeat;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.tpl-headline,.tpl-subline,.tpl-variable{position:absolute;left:8%;right:8%;color:white;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5);line-height:.9}
.tpl-headline{top:22%;font-size:clamp(38px,6vw,72px);font-weight:700}.tpl-subline{top:36%;font-size:clamp(24px,4vw,44px);font-weight:600}.tpl-variable{top:52%;font-size:clamp(20px,3vw,34px);font-weight:500}
.template-export-note{font-size:12px;opacity:.65;margin-top:8px}
@media(max-width:800px){.template-builder{grid-template-columns:1fr}.template-stage{width:min(100%,360px)}}

/* 0.1.37 – template rendering fixes */
html,body,.app-shell,.sidebar,.main,.content,.card,.nav-item,.topbar,
button,input,select,textarea,label,table,th,td,a,span,strong,small,p,h1,h2,h3,h4,h5,h6{
  font-family:'Teko',sans-serif !important;
}
.template-card{background:#0b2853}
.template-card img{display:block;width:100%;aspect-ratio:1047/1501;object-fit:cover;background:#0b2853}
.template-asset-status{font-size:13px;margin:9px 0 0;color:#58708d}
.template-asset-status.error{color:#b31328;font-weight:600}
.template-asset-status.ok{color:#158346}
.template-stage{position:relative;width:min(100%,430px);aspect-ratio:1047/1501;background:#082c61;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.template-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tpl-headline,.tpl-subline,.tpl-variable{
  z-index:2;box-sizing:border-box;overflow:hidden;
  white-space:normal;overflow-wrap:normal;word-break:normal;
  font-family:'Teko',sans-serif!important;
}
.tpl-headline{top:22%;left:8%;right:8%;height:12%;font-size:72px;font-weight:700;line-height:.88;white-space:nowrap}
.tpl-subline{top:35%;left:8%;right:8%;height:15%;font-size:46px;font-weight:600;line-height:.92}
.tpl-variable{top:51%;left:8%;right:8%;height:13%;font-size:35px;font-weight:500;line-height:.95}
.preview-media.template-preview-active{aspect-ratio:1047/1501;background:#0b2853}
.preview-media.template-preview-active .preview-template-clone{position:relative;width:100%;height:100%;overflow:hidden}
.preview-template-clone>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.preview-template-clone .tpl-headline,.preview-template-clone .tpl-subline,.preview-template-clone .tpl-variable{position:absolute}
.template-stage.rendering::after{content:"Grafik wird erzeugt …";position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:rgba(5,23,52,.72);color:white;font-weight:600;font-size:22px}
@media(max-width:650px){.tpl-headline{font-size:58px}.tpl-subline{font-size:38px}.tpl-variable{font-size:29px}}

/* 0.1.38 – Graphic template management */
.template-admin-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:18px}
.template-upload-form{align-self:start;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}
.template-admin-list{display:grid;gap:9px}
.template-admin-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px}
.template-admin-row img{width:72px;height:90px;object-fit:cover;border-radius:8px;background:#0b2853}
.template-admin-row strong,.template-admin-row span{display:block}.template-admin-row span{font-size:13px;color:var(--muted)}
.template-admin-row form{margin:0}
@media(max-width:950px){.template-admin-grid{grid-template-columns:1fr}.template-admin-row{grid-template-columns:58px 1fr auto}.template-admin-row img{width:58px;height:72px}.template-admin-row form{grid-column:auto}}
@media(max-width:650px){.template-admin-row{grid-template-columns:52px 1fr}.template-admin-row .status-pill,.template-admin-row form{grid-column:2}}

/* 0.1.39 – graphic headings */
.heading-graphic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.heading-graphic-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:8px;border:2px solid transparent;border-radius:12px;background:#fff;cursor:pointer;text-align:center}
.heading-graphic-card.active{border-color:#ff1734;box-shadow:0 0 0 2px rgba(255,23,52,.12)}
.heading-graphic-card img{width:100%;height:68px;object-fit:contain;background:#0b2853;border-radius:8px;padding:4px}
.heading-graphic-card strong{font-size:14px;line-height:1}
.heading-graphic-none{display:grid;place-items:center;width:100%;height:68px;border-radius:8px;background:#f1f4f8;color:#0f2b5b;font-weight:700;font-size:38px}
.tpl-heading-graphic{position:absolute;z-index:3;display:block;max-width:100%;width:84%;height:auto;object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.22))}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-heading-graphic{filter:none}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-subline,
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-variable{text-shadow:0 2px 10px rgba(0,0,0,.4)}
.preview-template-clone .tpl-heading-graphic{position:absolute}


/* 0.1.40 – UI typography and social template tuning */
html,body,.app-shell,.sidebar,.main,.content,.card,.nav-item,.topbar,
button,input,select,textarea,label,table,th,td,a,span,strong,small,p,li{
  font-family:'Teko',sans-serif !important;
}
html,body{font-family:'Teko',sans-serif !important;color:var(--navy)}
body{font-size:20px;font-weight:400}
input,select,textarea,button{font-size:19px;font-weight:400}
p,span,small,label,td,th,li,a,input,textarea,select,button{font-weight:400}
h1,h2,h3,h4,h5,h6,.brand strong,.nav-item,.card-head h2,.topbar strong,.composer-topbar h2,.preview-head h3,.field-label,.section-label-row .field-label,.template-card span,.heading-graphic-card strong,.text-block-btn,strong{font-weight:600 !important}
.muted,.status-pill,.eyebrow,.composer-kicker,.section-label-row span,.brand small,.brand span{font-weight:400 !important}
.template-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:18px;align-items:start}
.template-stage-wrap{position:sticky;top:18px;display:flex;justify-content:center;align-items:flex-start}
.template-stage{width:min(100%,430px)}
.tpl-headline{font-weight:600 !important}
.tpl-subline,.tpl-variable{font-weight:400 !important}
.tpl-heading-graphic{position:absolute;z-index:3;display:block;width:auto;height:auto;max-width:84%;max-height:22%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.20))}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-heading-graphic{max-width:38%;max-height:28%;filter:none}
.heading-graphic-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.heading-graphic-card img{width:100%;height:82px;object-fit:contain;background:#0b2853;border-radius:10px;padding:8px}
.heading-graphic-none{height:82px;font-size:42px}
.preview-media.template-preview-active{display:flex;align-items:center;justify-content:center;padding:0}
.preview-media.template-preview-active .preview-template-clone{width:100%;height:100%;position:relative;display:block;aspect-ratio:1047/1501;background:#082c61;overflow:hidden}
.preview-media.template-preview-active .preview-template-clone>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.preview-media.template-preview-active .preview-template-clone .tpl-heading-graphic{position:absolute;max-width:84%;max-height:22%;width:auto;height:auto}
.preview-media.template-preview-active .preview-template-clone[data-template-slug="ffc-image-text-split"] .tpl-heading-graphic{max-width:38%;max-height:28%}
.preview-media.template-preview-active .preview-template-clone .tpl-headline,
.preview-media.template-preview-active .preview-template-clone .tpl-subline,
.preview-media.template-preview-active .preview-template-clone .tpl-variable{position:absolute}
@media(max-width:1050px){.template-builder{grid-template-columns:1fr}.template-stage-wrap{position:static}.social-composer-v2{grid-template-columns:1fr}.preview-panel{position:static}}


/* 0.1.41 – Sidebar readability + scrolling */
.app-shell{grid-template-columns:300px minmax(0,1fr)}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:22px 16px 28px;
}
.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-thumb{background:#cdd8e8;border-radius:999px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.brand{margin-bottom:24px;gap:14px}
.brand strong{font-size:26px;line-height:1;font-weight:600!important}
.brand span{font-size:16px;line-height:1.1}
.brand small{font-size:14px;line-height:1.15}
.nav{gap:7px;padding-bottom:14px}
.nav-item{
  grid-template-columns:30px 1fr 20px;
  min-height:50px;
  padding:0 14px;
  font-size:18px!important;
  line-height:1;
  font-weight:400!important;
}
.nav-item.active{font-weight:600!important}
.nav-icon{font-size:21px;line-height:1}
.nav-caret{font-size:16px}
.sidebar-claim{
  margin-top:10px;
  flex:0 0 auto;
  padding:18px;
}
.sidebar-claim p{font-size:17px;line-height:1.25}
.sidebar-claim strong{font-weight:600!important}
.pitch-mark{font-size:34px}
@media(max-width:1250px){
  .app-shell{grid-template-columns:270px minmax(0,1fr)}
  .nav-item{font-size:17px!important}
}
@media(max-width:820px){
  .app-shell{display:block}
  .sidebar{position:static;height:auto;max-height:none;overflow:visible;padding-bottom:18px}
  .nav{display:grid;grid-template-columns:1fr 1fr}
  .nav-item{font-size:18px!important}
}


/* 0.1.42 – social preview right + image-text template larger */
.social-composer-v2{grid-template-columns:minmax(0,1.55fr) minmax(360px,430px) !important;align-items:start}
.preview-panel{position:sticky;top:16px;align-self:start}
.preview-panel .preview-phone{max-width:100%}
@media(max-width:920px){.social-composer-v2{grid-template-columns:1fr !important}.preview-panel{position:static}}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-heading-graphic{left:7% !important;top:19% !important;max-width:42% !important;max-height:54% !important;width:auto !important;height:auto !important;object-fit:contain}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-headline{left:8% !important;right:55% !important;top:20% !important;height:34% !important;color:#0f2b5b !important}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-subline{left:57% !important;right:7% !important;top:18% !important;height:19% !important}
.template-stage[data-template-slug="ffc-image-text-split"] .tpl-variable{left:57% !important;right:7% !important;top:43% !important;height:16% !important}
.preview-media.template-preview-active .preview-template-clone[data-template-slug="ffc-image-text-split"] .tpl-heading-graphic{left:7% !important;top:19% !important;max-width:42% !important;max-height:54% !important;width:auto !important;height:auto !important}


/* 0.1.43 – definitive social layout + editable template coordinates */
.social-composer-v2{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:18px!important;align-items:start!important}
.social-composer-v2>.composer-main{min-width:0!important;width:auto!important}
.social-composer-v2>.preview-panel{grid-column:2!important;grid-row:1!important;width:390px!important;max-width:390px!important;min-width:0!important;position:sticky!important;top:14px!important;align-self:start!important}
.preview-panel .social-preview{padding:14px!important;min-height:360px!important}
.preview-panel .preview-phone{max-width:350px!important;margin:auto!important}
@media(min-width:901px){.social-composer-v2{grid-template-columns:minmax(0,1fr) 390px!important}.social-composer-v2>.preview-panel{grid-column:2!important;grid-row:1!important;position:sticky!important}}
@media(max-width:900px){.social-composer-v2{grid-template-columns:1fr!important}.social-composer-v2>.preview-panel{grid-column:1!important;grid-row:auto!important;width:100%!important;max-width:none!important;position:static!important}}
.template-admin-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.template-admin-item+.template-admin-item{margin-top:9px}
.template-admin-item summary{list-style:none;cursor:pointer}.template-admin-item summary::-webkit-details-marker{display:none}
.template-admin-open{font-size:16px;color:var(--blue)!important;white-space:nowrap}
.template-layout-editor{padding:14px 16px 16px;border-top:1px solid var(--line);background:#f8fafc}
.template-layout-form{display:grid;gap:14px}.layout-control-group{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.layout-control-group h4{margin:0 0 8px;font-size:20px}
.layout-control-grid{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:8px}.layout-control-grid label{font-size:15px}.layout-control-grid input{width:100%;margin-top:3px}
.template-admin-buttons{display:flex;gap:8px;margin-top:12px}.template-admin-buttons form{margin:0}
@media(max-width:850px){.layout-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-admin-row{grid-template-columns:58px 1fr}.template-admin-open,.template-admin-row>.status-pill{grid-column:2}}


/* 0.1.44 – structural Social Composer layout */
.social-composer-v2{display:block!important;width:100%!important;min-width:0!important}
.social-composer-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important;gap:18px!important;align-items:start!important;width:100%!important;min-width:0!important}
.social-composer-layout>.composer-main{grid-column:1!important;grid-row:1!important;min-width:0!important;width:100%!important}
.social-composer-layout>.preview-panel{grid-column:2!important;grid-row:1!important;width:380px!important;max-width:380px!important;min-width:0!important;position:sticky!important;top:14px!important;align-self:start!important}
.social-composer-layout>.preview-panel .social-preview{padding:12px!important;min-height:340px!important}
.social-composer-layout>.preview-panel .preview-phone{width:100%!important;max-width:340px!important;margin:0 auto!important}
@media(max-width:980px){
  .social-composer-layout{grid-template-columns:1fr!important}
  .social-composer-layout>.preview-panel{grid-column:1!important;grid-row:2!important;width:100%!important;max-width:none!important;position:static!important}
}


/* 0.1.45 – authoritative Social Hub desktop layout */
#socialComposer.social-composer-v2{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
#socialComposer .social-composer-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;grid-template-areas:"editor preview"!important;column-gap:20px!important;align-items:start!important;width:100%!important;max-width:100%!important;min-width:0!important}
#socialComposer .social-composer-layout>.composer-main{grid-area:editor!important;min-width:0!important;width:100%!important;max-width:100%!important}
#socialComposer .social-composer-layout>.preview-panel{grid-area:preview!important;width:390px!important;max-width:390px!important;min-width:0!important;position:sticky!important;top:14px!important;align-self:start!important;margin:0!important}
#socialComposer .social-composer-layout>.preview-panel .social-preview{padding:12px!important;min-height:0!important}
#socialComposer .social-composer-layout>.preview-panel .preview-phone{width:100%!important;max-width:350px!important;margin:0 auto!important}
@media(max-width:980px){
  #socialComposer .social-composer-layout{grid-template-columns:1fr!important;grid-template-areas:"editor" "preview"!important}
  #socialComposer .social-composer-layout>.preview-panel{width:100%!important;max-width:none!important;position:static!important}
}

/* 0.1.47 – Multi Media / Carousel */
.multi-media-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}
.multi-media-item{position:relative;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;cursor:grab;min-height:145px}
.multi-media-item.dragging{opacity:.45}
.multi-media-item img{display:block;width:100%;height:100px;object-fit:cover;background:#e9eef5}
.multi-video-badge{height:100px;display:grid;place-items:center;background:#0f2b5b;color:#fff;font-weight:600;font-size:22px}
.multi-media-meta{padding:7px 9px 9px;min-width:0}
.multi-media-meta strong,.multi-media-meta span{display:block}
.multi-media-meta strong{font-weight:600}
.multi-media-meta span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.multi-media-remove{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.media-carousel-hint{display:block;margin-top:8px}
.existing-social-assets{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.existing-social-asset{display:grid;grid-template-columns:auto 76px;gap:7px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:#fff}
.existing-social-asset img,.existing-video{width:76px;height:76px;object-fit:cover;border-radius:7px;background:#0f2b5b;color:#fff;display:grid;place-items:center}

/* 0.1.48 – Stories & Events */
.content-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.content-mode-switch button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:11px;padding:10px 12px;cursor:pointer;font-weight:600}
.content-mode-switch button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.story-mode-hint{display:none;margin-top:9px;padding:9px 11px;background:#f3f7fc;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--muted)}
.content-mode-switch:has(button[data-content-mode="story"].active)+#composerMode+.story-mode-hint{display:block}
.template-mode-hidden{display:none!important}
.story-platform-disabled{opacity:.45}
.story-platform-disabled .platform-card-body{display:none!important}
.social-preview.story-preview .preview-phone{max-width:250px!important}
.social-preview.story-preview .preview-media{aspect-ratio:9/16!important}
.social-preview.story-preview .preview-copy{font-size:13px}
.template-stage[data-template-format="9:16"]{aspect-ratio:9/16}
.event-page-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.event-form-card{position:sticky;top:16px}
.club-event-list{display:grid;gap:10px}
.club-event-row{display:grid;grid-template-columns:70px 1fr;gap:13px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.event-date-box{height:70px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;align-content:center;line-height:.9}
.event-date-box strong{font-size:30px;font-weight:600}.event-date-box span{font-size:15px}
.club-event-main>span{display:block;color:var(--muted);margin-top:3px}.club-event-main p{margin:8px 0 0;line-height:1.35}
.event-title-line{display:flex;gap:10px;align-items:center;justify-content:space-between}.event-title-line strong{font-size:22px;font-weight:600}
.event-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px}.event-actions form{margin:0}
.event-filter-links{display:flex;gap:9px}
@media(max-width:980px){.event-page-grid{grid-template-columns:1fr}.event-form-card{position:static}}

/* 0.1.50 – QR Access & VIP Cards */
.access-create-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start;margin-bottom:18px}.access-toolbar{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}.wristband-label{display:inline-block;padding:2px 7px;border-radius:999px;color:#fff;font-size:14px;font-weight:600;margin-top:3px}.wristband-label.blue{background:#1768c5}.wristband-label.red{background:#c51f34}.wristband-label.none{background:#64748b}.access-validity-fields{display:grid;gap:10px}@media(max-width:980px){.access-create-grid{grid-template-columns:1fr}}
