:root{--bg:#f6f9fe;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#dfe7f1;--primary:#2563eb;--accent:#14b8a6;--danger:#dc2626;--warning:#d97706;--shadow:0 18px 50px rgba(15,23,42,.09);--radius:24px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.loading-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;background:#fff;color:var(--muted);font-weight:900}.loading-screen img{width:220px}.login-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 8%,rgba(20,184,166,.14),transparent 27%),radial-gradient(circle at 88% 10%,rgba(37,99,235,.16),transparent 30%),linear-gradient(180deg,#f8fbff,#fff 55%,#f8fafc)}.login-card{width:min(100%,470px);padding:34px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow);text-align:center}.login-logo{width:min(320px,80vw);margin:0 auto 18px}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:13px;font-weight:900}.muted{color:var(--muted)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:42px;line-height:1.05;margin:16px 0}h2{font-size:34px;margin:0}h3{font-size:23px;margin-bottom:7px}h4{font-size:18px}.form{display:grid;gap:14px;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-full{grid-column:1/-1}label{display:grid;gap:7px;font-weight:800;color:#334155}input,select,textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.09)}textarea{min-height:130px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:900;cursor:pointer;text-decoration:none;box-shadow:0 12px 28px rgba(37,99,235,.2)}.btn:hover{transform:translateY(-1px)}.btn-small{min-height:40px;padding:0 15px;font-size:14px}.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;box-shadow:none}.btn-warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;box-shadow:none}.text-btn{border:0;background:transparent;color:var(--primary);font-weight:900;cursor:pointer;margin-top:12px}.message{min-height:22px}.message.error{color:var(--danger)}.message.success{color:#059669}.app-shell{min-height:100svh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100svh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:22px;background:#0b152a;color:#cbd5e1}.sidebar-brand img{width:180px;filter:brightness(0) invert(1)}.sidebar-identity{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:rgba(30,41,59,.72)}.identity-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:1000}.sidebar-identity strong,.sidebar-identity span{display:block}.sidebar-identity strong{color:#fff}.sidebar-identity span{font-size:13px;color:#94a3b8}.sidebar-nav{display:grid;gap:7px}.nav-item,.logout-btn{width:100%;padding:12px 14px;border:0;border-radius:14px;background:transparent;color:#cbd5e1;text-align:left;font-weight:850;cursor:pointer}.nav-item.active,.nav-item:hover{background:#253149;color:#fff}.logout-btn{margin-top:auto;background:#3a1e30;color:#fff;text-align:center}.content{min-width:0;padding:28px;display:grid;gap:22px;align-content:start}.content-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.user-pill{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#334155;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.stat-card,.panel,.list-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}.stat-card{padding:20px}.stat-card span{font-size:27px}.stat-card strong{display:block;font-size:34px;margin-top:8px}.stat-card p{margin:0;color:var(--muted);font-weight:850}.panel{padding:22px}.panel.inset{box-shadow:none;background:#f8fafc}.panel-head,.card-head,.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-head p{color:var(--muted);margin-bottom:0}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.button-row,.card-actions,.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.package-mini-grid{display:grid;gap:10px}.package-mini-grid div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.package-mini-grid div:last-child{border-bottom:0}.package-mini-grid span{color:var(--muted);text-align:right}.toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px 190px;gap:12px;margin:18px 0}.card-list{display:grid;gap:14px;margin-top:16px}.list-card{padding:17px}.card-meta{color:var(--muted);font-size:14px;font-weight:730}.badge{display:inline-flex;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;font-size:12px;font-weight:900}.badge.success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.badge.danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.badge.warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.badge.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.info-box,.nested-section{padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.nested-section h3{margin-bottom:4px}.module-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.module-pill{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;font-weight:800}.module-pill.off{opacity:.43;text-decoration:line-through}.price-preview{margin:12px 0 0;color:#1d4ed8;font-weight:900}.section-title{margin:28px 0 8px}.big-number{font-size:40px;color:#1d4ed8}.modal{position:fixed;inset:0;z-index:8000;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 14px;background:rgba(15,23,42,.62)}.modal-card{width:min(100%,600px);padding:26px;border-radius:26px;background:#fff;box-shadow:var(--shadow)}.modal-large{width:min(100%,1000px)}.icon-btn{width:40px;height:40px;border:0;border-radius:12px;background:#f1f5f9;color:#334155;font-size:26px;cursor:pointer}.contract-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.contract-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:13px}.contract-details div{padding:11px;border-radius:14px;background:#f8fafc}.contract-details small,.contract-details strong{display:block}.contract-details small{color:var(--muted)}.news-type{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.log-details{margin-top:10px;padding:10px;border-radius:12px;background:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.contract-details{grid-template-columns:repeat(2,1fr)}}@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.content{padding:16px}.stats-grid,.two-column,.form-grid,.module-preview{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.content-header,.panel-head{display:grid}.sidebar-brand img{width:160px}.logout-btn{margin-top:0}.contract-details{grid-template-columns:1fr}.button-row .btn,.modal-actions .btn{width:100%}.login-page{padding:14px}.login-card{padding:24px 16px}}

.logo-badge{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#10b981,#2563eb);color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px}

/* Admin-Einladungen und Mitgliederzahlen */
.invite-result{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin:18px 0;padding:18px;border:1px solid #a7f3d0;border-radius:20px;background:#ecfdf5}
.invite-result h3{margin:8px 0 4px}.invite-result p{margin-bottom:10px;color:#047857}
.invite-result code,.pending-invite code{display:block;overflow-wrap:anywhere;word-break:break-word;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #a7f3d0;color:#065f46;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
.pending-invite{margin-top:14px;padding:14px;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff}
.pending-invite strong{display:block;margin-bottom:4px;color:#1d4ed8}.pending-invite p{margin:0 0 8px;color:#475569}.pending-invite .button-row{margin-top:10px}
@media(max-width:950px){.invite-result{grid-template-columns:1fr}}


/* Support & Tickets */
.support-stats{margin:18px 0}.support-toolbar{grid-template-columns:minmax(260px,1fr) 210px 190px}
.support-ticket-card{border-left:5px solid #2563eb}.support-ticket-card.unread{box-shadow:0 0 0 3px rgba(37,99,235,.12),0 10px 30px rgba(15,23,42,.06)}
.support-ticket-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.support-ticket-number{font-size:12px;color:#2563eb;font-weight:950;letter-spacing:.05em}.support-ticket-card h3{margin:5px 0}
.support-ticket-badges{display:flex;gap:8px;flex-wrap:wrap}.support-ticket-meta{display:flex;gap:10px 18px;flex-wrap:wrap;margin:14px 0;padding:14px;border-radius:16px;background:#f8fafc;color:#475569;font-weight:750}
.support-admin-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px}
.support-conversation{display:grid;gap:12px;max-height:48vh;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}
.support-message{width:min(88%,760px);padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.support-message.club{justify-self:start;border-bottom-left-radius:5px;background:#eff6ff;border-color:#bfdbfe}
.support-message.support{justify-self:end;border-bottom-right-radius:5px;background:#ecfdf5;border-color:#a7f3d0}
.support-message.system{justify-self:center;background:#f1f5f9;color:#475569}
.support-message-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:12px;font-weight:900}.support-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.support-reply-form{margin-top:16px}.support-internal-note{margin-top:22px;padding:18px;border:1px dashed #cbd5e1;border-radius:18px;background:#fffbeb}
.support-internal-note>p{color:#92400e}.support-internal-notes-list{display:grid;gap:10px;margin-top:14px}.support-note{padding:12px;border-radius:14px;background:#fff;border:1px solid #fde68a}
@media(max-width:950px){.support-toolbar,.support-admin-controls{grid-template-columns:1fr}.support-message{width:96%}}


/* Mobile Ansicht im Stil des Vereinsportals */
.mobile-menu-btn{display:none}.mobile-sidebar-backdrop{position:fixed;inset:0;z-index:6990;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}.mobile-header-row{display:flex;align-items:center;gap:12px}body.menu-open{overflow:hidden}
@media(max-width:950px){.app-shell{display:block;min-height:100svh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:7000;width:min(86vw,320px);height:100svh;transform:translateX(-105%);transition:transform .24s ease;box-shadow:18px 0 50px rgba(15,23,42,.30);padding:18px}.sidebar.mobile-open{transform:translateX(0)}.mobile-menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#0f172a;font-size:22px;font-weight:900;cursor:pointer}.content{padding:14px;gap:16px}.content-header{position:sticky;top:0;z-index:500;margin:-14px -14px 0;padding:12px 14px;background:rgba(248,250,252,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center}.content-header h2{font-size:25px;line-height:1.15}.content-header .eyebrow{display:none}.user-pill{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;padding:8px 10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:15px;border-radius:18px}.stat-card strong{font-size:28px}.stat-card p{font-size:13px}.panel{padding:15px;border-radius:20px}.panel-head,.card-head,.contract-row,.modal-title-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}.panel-head>.btn{width:100%}.two-column,.form-grid,.module-preview,.toolbar,.contract-details{grid-template-columns:1fr}.two-column{gap:12px;margin:12px 0}.toolbar{gap:10px;margin:14px 0}.list-card{padding:15px;border-radius:18px}.card-actions,.button-row,.modal-actions{display:grid;grid-template-columns:1fr;gap:8px}.card-actions .btn,.button-row .btn,.modal-actions .btn{width:100%;min-height:46px}.contract-details{gap:8px}.contract-details div{padding:12px}.package-mini-grid div{align-items:flex-start;flex-direction:column;gap:4px}.package-mini-grid span{text-align:left}.modal{padding:0;align-items:stretch}.modal-card,.modal-large{width:100%;min-height:100svh;border-radius:0;padding:18px 14px 28px}.modal-title-row{position:sticky;top:-18px;z-index:20;margin:-18px -14px 16px;padding:14px;background:#fff;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.icon-btn{flex:0 0 44px;width:44px;height:44px}input,select,textarea{min-height:48px;font-size:16px}.support-admin-controls,.support-ticket-meta{grid-template-columns:1fr!important}.invite-result{grid-template-columns:1fr}.support-message{width:96%}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card span{font-size:23px}.stat-card strong{font-size:25px}.user-pill{max-width:32vw}.login-card{border-radius:22px}}

/* =========================================================
   Plattformzentrale
   ========================================================= */
.platform-page{display:grid;gap:18px}
.platform-hero{background:linear-gradient(135deg,#fff 0%,#f8fbff 56%,#eefcf9 100%)}
.platform-hero .panel-head{align-items:center}
.platform-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.platform-health-card{min-width:0;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff}
.platform-health-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#f1f5f9;font-size:20px}
.platform-health-card strong,.platform-health-card span,.platform-health-card small{display:block}
.platform-health-card strong{font-size:14px}
.platform-health-card span{margin:3px 0;font-size:13px;font-weight:900}
.platform-health-card small{color:var(--muted);font-size:11px;line-height:1.35}
.platform-health-card.success{border-color:#a7f3d0;background:#f7fffb}.platform-health-card.success span{color:#047857}
.platform-health-card.info{border-color:#bfdbfe;background:#f8fbff}.platform-health-card.info span{color:#1d4ed8}
.platform-health-card.warning{border-color:#fed7aa;background:#fffaf5}.platform-health-card.warning span{color:#9a3412}
.platform-health-card.danger{border-color:#fecaca;background:#fff8f8}.platform-health-card.danger span{color:#b91c1c}
.platform-health-card.muted{opacity:.72}

.platform-tabs{position:sticky;top:10px;z-index:20;display:flex;gap:7px;padding:6px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(15,23,42,.07);backdrop-filter:blur(12px)}
.platform-tab{flex:1;min-height:43px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#475569;font-weight:900;cursor:pointer}
.platform-tab.active{background:#0f172a;color:#fff;box-shadow:0 7px 18px rgba(15,23,42,.16)}
.platform-tab-panel{display:grid;gap:18px}

.platform-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.platform-metric-card{padding:19px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.platform-metric-card span{font-size:24px}.platform-metric-card strong{display:block;margin:7px 0 2px;font-size:31px}.platform-metric-card p{margin:0;color:var(--muted);font-weight:820}

.platform-overview-columns{align-items:start}
.platform-task-list{display:grid;gap:10px;margin-top:16px}
.platform-task{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-left-width:5px;border-radius:15px;background:#f8fafc}
.platform-task strong{display:block}.platform-task p{margin:4px 0 0;color:var(--muted);font-size:13px}
.platform-task.success{border-left-color:#10b981}.platform-task.info{border-left-color:#2563eb}.platform-task.warning{border-left-color:#f59e0b}.platform-task.danger{border-left-color:#ef4444}

.platform-definition-list{display:grid;margin:12px 0 0}
.platform-definition-list>div{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.platform-definition-list>div:last-child{border-bottom:0}.platform-definition-list dt{color:var(--muted);font-weight:800}.platform-definition-list dd{margin:0;text-align:right;font-weight:900}

.platform-form{gap:18px}
.maintenance-panel{border-left:5px solid #f59e0b}
.platform-save-bar{position:sticky;bottom:12px;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 15px 40px rgba(15,23,42,.13);backdrop-filter:blur(12px)}
.platform-save-bar .message{margin:0}

.payment-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.provider-card{display:grid;gap:18px}.provider-head{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px}
.provider-head h3,.provider-head p{margin:0}.provider-head p{margin-top:3px;color:var(--muted)}
.provider-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#635bff;color:#fff;font-size:23px;font-weight:1000}.provider-logo.paypal{background:#003087}
.payment-note{border-left:5px solid #2563eb}.payment-note p{color:var(--muted);line-height:1.55}

.diagnostics-columns{align-items:start}.platform-log-item{padding:12px 0;border-bottom:1px solid var(--line)}.platform-log-item:last-child{border-bottom:0}.platform-log-item strong,.platform-log-item span{display:block}.platform-log-item span{margin-top:4px;color:var(--muted);font-size:12px}
.diagnostics-hint-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.diagnostics-hint-grid article{padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fafc}.diagnostics-hint-grid strong,.diagnostics-hint-grid span{display:block}.diagnostics-hint-grid span{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}

@media(max-width:1250px){
  .platform-health-grid{grid-template-columns:repeat(3,1fr)}
  .platform-metric-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:950px){
  .platform-health-grid,.platform-metric-grid,.payment-provider-grid,.diagnostics-hint-grid{grid-template-columns:1fr}
  .platform-tabs{position:static;display:grid;grid-template-columns:1fr 1fr}
  .platform-task{align-items:flex-start;flex-direction:column}.platform-task .btn{width:100%}
  .platform-save-bar{bottom:8px;display:grid}.platform-save-bar .btn{width:100%}
  .provider-head{grid-template-columns:48px 1fr}.provider-head .badge{grid-column:1/-1;justify-self:start}
}
@media(max-width:520px){
  .platform-tabs{grid-template-columns:1fr}
  .platform-definition-list>div{grid-template-columns:1fr;gap:3px}.platform-definition-list dd{text-align:left}
  .platform-health-card{padding:13px}
}

/* =========================================================
   Superadmin – Logo im Identitäts-Badge
   ========================================================= */
.logo-badge {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  min-width: 54px;
  min-height: 54px;
  padding: 7px;
  overflow: hidden;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#10b981,#2563eb);
}

.logo-badge .logo-badge-image,
.logo-badge > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 40px !important;
  max-height: 40px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  filter: none !important;
}

/* Text neben dem Badge darf die Sidebar nicht verbreitern. */
.sidebar-identity > div:last-child {
  min-width: 0;
}

.sidebar-identity > div:last-child strong,
.sidebar-identity > div:last-child span {
  overflow-wrap: anywhere;
}

@media (max-width: 950px) {
  .logo-badge {
    flex-basis: 50px;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    padding: 7px;
    border-radius: 16px;
  }

  .logo-badge .logo-badge-image,
  .logo-badge > img {
    max-width: 36px !important;
    max-height: 36px !important;
  }
}

