/* Zentrale style.css */
:root{
  --bg:#f4f5f7;
  --panel:#ffffff;
  --text:#101828;
  --muted:#667085;
  --border:#e4e7ec;
  --brand:#b8223f;
  --brand-ink:#7a1024;
  --nav:#0b2545;
  --shadow:0 12px 32px rgba(16,24,40,.10);
  --shadow-sm:0 2px 10px rgba(16,24,40,.08);
  --radius:14px;
  --radius-sm:12px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:museo-sans-condensed,Helvetica,Arial,sans-serif;
  font-size:17px;
  color:var(--text);
  background:var(--bg);
}

a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

:where(summary){list-style:none}

:focus-visible{
  outline:3px solid rgba(184,34,63,.35);
  outline-offset:2px;
  border-radius:10px;
}

.app{
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 rgba(16,24,40,.04);
}
.topbar::before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg, var(--brand), rgba(184,34,63,.55));
}

.container{
  width:min(1180px, 92vw);
  margin:0 auto;
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
  gap:18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand img{height:30px;width:auto}
.brand strong{letter-spacing:.3px; font-weight:800}

.nav{
  display:flex;
  gap:2px;
  flex-wrap:nowrap;
  align-items:center;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:2px;
  border-radius:999px;
  background:rgba(16,24,40,.03);
  border:1px solid rgba(16,24,40,.06);
}
.nav::-webkit-scrollbar{height:8px}
.nav::-webkit-scrollbar-thumb{background:rgba(16,24,40,.18); border-radius:999px}
.nav::-webkit-scrollbar-track{background:transparent}
.nav a{
  padding:10px 12px;
  border-radius:999px;
  text-decoration:none;
  color:rgba(11,37,69,.85);
  border:1px solid transparent;
  white-space:nowrap;
  font-size:15px;
  font-weight:650;
  letter-spacing:.15px;
}
.nav a.active{
  color:#fff;
  background:linear-gradient(180deg, rgba(11,37,69,.98), rgba(11,37,69,.88));
  border-color:rgba(11,37,69,.15);
  box-shadow:0 1px 0 rgba(16,24,40,.06);
}
.nav a:hover{
  background:rgba(11,37,69,.06);
}

.right{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  background:#fff;
  border:1px solid rgba(16,24,40,.10);
  border-radius:999px;
  box-shadow:var(--shadow-sm);
  font-size:15px;
}
.notif-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(16,24,40,.12);
  background:#fff;
  box-shadow:var(--shadow-sm);
  text-decoration:none;
}
.notif-icon{
  width:20px;
  height:20px;
  fill:rgba(11,37,69,.88);
}
.notif-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(184,34,63,.98), rgba(122,16,36,.92));
  border:2px solid #fff;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.profile{
  position:relative;
}
.profile > summary::-webkit-details-marker{display:none}
.profile-trigger{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(16,24,40,.14);
  background:#fff;
  box-shadow:var(--shadow-sm);
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.profile-trigger:hover{box-shadow:0 14px 30px rgba(16,24,40,.12)}
.profile-trigger:active{transform:translateY(1px)}
.profile-icon{width:20px;height:20px;fill:rgba(11,37,69,.85)}

.profile[open] .profile-trigger{
  border-color:rgba(11,37,69,.20);
  box-shadow:0 16px 34px rgba(16,24,40,.14);
}

.profile-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(280px, 86vw);
  background:#fff;
  border:1px solid rgba(16,24,40,.12);
  border-radius:14px;
  box-shadow:0 24px 60px rgba(16,24,40,.18);
  overflow:hidden;
}
.profile-menu::before{
  content:"";
  position:absolute;
  right:14px;
  top:-6px;
  width:12px;
  height:12px;
  background:#fff;
  border-left:1px solid rgba(16,24,40,.12);
  border-top:1px solid rgba(16,24,40,.12);
  transform:rotate(45deg);
}
.profile-head{
  padding:12px 12px 10px;
  border-bottom:1px solid rgba(16,24,40,.08);
  background:linear-gradient(180deg, rgba(11,37,69,.06), rgba(255,255,255,1));
}
.profile-name{font-weight:800; letter-spacing:.2px}
.profile-role{font-size:15px}
.profile-actions{display:grid}
.profile-link{
  padding:12px;
  text-decoration:none;
  font-weight:650;
  color:rgba(11,37,69,.92);
  border-top:1px solid rgba(16,24,40,.06);
  background:#fff;
}
.profile-link:first-child{border-top:none}
.profile-link:hover{background:rgba(11,37,69,.04)}
.profile-link.danger{color:var(--brand-ink)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:var(--radius-sm);
  border:1px solid rgba(16,24,40,.14);
  background:#fff;
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.btn.primary{
  border-color:rgba(184,34,63,.25);
  background:linear-gradient(180deg, rgba(184,34,63,.98), rgba(184,34,63,.86));
  color:#fff;
}
.btn.danger{
  border-color:rgba(184,34,63,.28);
  background:linear-gradient(180deg, rgba(122,16,36,.98), rgba(184,34,63,.88));
  color:#fff;
}
.btn:hover{box-shadow:0 14px 30px rgba(16,24,40,.12)}
.btn:active{transform:translateY(1px)}
.btn.small{padding:8px 10px;border-radius:10px;font-size:16px}

.main{
  flex:1;
  padding:26px 0 48px;
}

.grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
}
.dashboard-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}
.dashboard-round{
  margin-top:2px;
  padding:16px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(11,37,69,.04), rgba(255,255,255,1));
}
.dashboard-winning-card{
  margin-top:18px;
}
.dashboard-notifications{
  margin-top:2px;
  padding:16px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(184,34,63,.05), rgba(255,255,255,1));
}
.dashboard-notification-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.dashboard-notification-item{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
}
.dashboard-notification-item a{
  text-decoration:none;
}
.dashboard-notification-item a:hover{
  color:var(--brand);
}
.notification-message{
  display:inline;
  font-weight:650;
}
.notification-link{
  color:var(--nav);
  text-decoration:underline;
  text-decoration-color:rgba(184,34,63,.45);
  text-underline-offset:3px;
}
.notification-link:hover{
  color:var(--brand);
}
.notification-idea{
  margin-top:4px;
  color:var(--muted);
  font-size:15px;
}
.dashboard-prize-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}
.dashboard-prize-card{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:#fff;
}
.dashboard-prize-image{
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(16,24,40,.08);
  background:rgba(11,37,69,.05);
}
.dashboard-prize-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:15px;
}
.dashboard-prize-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.tombola-shell{
  display:grid;
  gap:18px;
}
.tombola-shell-head{
  display:grid;
  gap:12px;
}
.tombola-panel{
  padding:16px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(11,37,69,.03), rgba(255,255,255,1));
}
.ideas-section{
  margin-top:18px;
  overflow-x:auto;
  padding-bottom:2px;
}
.ideas-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.ideas-section-head h2{
  margin:0 0 4px;
}
.ideas-section-head p{
  margin:0;
}
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:1fr}
  .dashboard-prize-grid{grid-template-columns:1fr}
  .right{display:none}
  .topbar-inner{padding:14px 0}
  .ideas-section-head{flex-direction:column}
}

.card{
  background:var(--panel);
  border:1px solid rgba(16,24,40,.10);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
}
.card h1,.card h2,.card h3{margin:0 0 10px; letter-spacing:.2px}
.card h1{font-size:28px; line-height:1.2}
.card h2{font-size:21px; line-height:1.25}
.card h3{font-size:17px; line-height:1.25}
.muted{color:var(--muted)}

.form{
  display:grid;
  gap:12px;
}
.field{
  display:grid;
  gap:6px;
}
.field label{font-size:16px;color:var(--muted)}
.field input,.field textarea,.field select{
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(16,24,40,.14);
  background:#fff;
  color:var(--text);
  outline:none;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:rgba(184,34,63,.35);
  box-shadow:0 0 0 4px rgba(184,34,63,.10);
}
.field textarea{min-height:120px;resize:vertical}
.hint{font-size:15px;color:var(--muted)}

.split{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid rgba(16,24,40,.10);
  border-radius:14px;
  background:#fff;
}
.table th,.table td{
  padding:12px 12px;
  border-bottom:1px solid rgba(16,24,40,.08);
  text-align:left;
  vertical-align:top;
  font-size:16px;
}
.table th{
  background:rgba(11,37,69,.06);
  color:rgba(11,37,69,.80);
  font-weight:750;
}
.table tr:hover td{background:rgba(11,37,69,.02)}
.table tr:last-child td{border-bottom:none}

.pill{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:14px;
  border:1px solid rgba(16,24,40,.14);
  color:rgba(11,37,69,.78);
  background:rgba(11,37,69,.05);
}
.pill.ok{border-color:rgba(34,197,94,.35); color:#166534; background:rgba(34,197,94,.10)}
.pill.bad{border-color:rgba(239,68,68,.35); color:#7f1d1d; background:rgba(239,68,68,.10)}
.pill.warn{border-color:rgba(245,158,11,.35); color:#7c2d12; background:rgba(245,158,11,.10)}

.podium{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
  align-items:end;
  padding:18px 8px 4px;
  background:
    radial-gradient(circle at 50% 20%, rgba(184,34,63,.07), transparent 38%),
    linear-gradient(180deg, rgba(11,37,69,.03), rgba(255,255,255,0));
  border-radius:14px;
}
.podium .step{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0 6px;
  min-height:196px;
  overflow:visible;
}
.podium .step::before{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  bottom:0;
  z-index:0;
  height:86px;
  border:1px solid rgba(105,117,204,.24);
  background:linear-gradient(135deg, #b4b9ff 0%, #8d97e7 70%);
  box-shadow:inset 10px 0 0 rgba(255,255,255,.16), 0 12px 24px rgba(11,37,69,.14);
}
.podium .step.second{
  min-height:216px;
}
.podium .step.first{
  min-height:250px;
}
.podium .step.third{
  min-height:198px;
}
.podium .step.first::before{
  height:124px;
  background:linear-gradient(135deg, #aeb6ff 0%, #7684dd 72%);
}
.podium .step.second::before{
  height:94px;
}
.podium .step.third::before{
  height:78px;
}
.podium-rank{
  position:absolute;
  left:50%;
  bottom:28px;
  z-index:2;
  transform:translateX(-50%);
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:#1d8bd6;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 8px 18px rgba(11,37,69,.16);
  font-size:30px;
  font-weight:900;
  line-height:1;
}
.podium .step.first .podium-rank{
  bottom:44px;
  color:#1688d4;
  background:#fff;
  border-color:rgba(255,255,255,.75);
}
.podium-name{
  position:relative;
  z-index:2;
  width:100%;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  line-height:1.2;
  overflow-wrap:anywhere;
  margin:8px 0 6px;
  padding:0 2px;
}
.podium-tickets{
  position:relative;
  z-index:2;
  margin-top:auto;
  margin-bottom:92px;
  white-space:nowrap;
  background:#fff;
}
.podium .step.first .podium-tickets{margin-bottom:130px}
.podium .step.second .podium-tickets{margin-bottom:100px}
.podium .step.third .podium-tickets{margin-bottom:84px}

.medal{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 10px 12px rgba(11,37,69,.18));
  margin-bottom:0;
}
.medal svg{width:78px;height:78px}
.medal{color:rgba(11,37,69,.85)}
.medal.gold{color:#f6b719}
.medal.silver{color:#c9d4df}
.medal.bronze{color:#dd7a2d}
.podium .step.first .medal svg{width:104px;height:104px}
.podium .step.second .medal svg{width:82px;height:82px}
.podium .step.third .medal svg{width:78px;height:78px}

.flash{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(148,163,184,.12);
  color:var(--text);
  margin-bottom:14px;
}
.flash.error{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
.flash.success{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}

.audit-stats{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
  margin:16px 0 18px;
}
.audit-stat{
  padding:14px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(11,37,69,.04), rgba(255,255,255,1));
  display:grid;
  gap:8px;
}
.audit-stat-ok{
  background:linear-gradient(180deg, rgba(34,197,94,.10), rgba(255,255,255,1));
  border-color:rgba(34,197,94,.18);
}
.audit-stat-warn{
  background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,1));
  border-color:rgba(245,158,11,.18);
}
.audit-stat-bad{
  background:linear-gradient(180deg, rgba(239,68,68,.08), rgba(255,255,255,1));
  border-color:rgba(239,68,68,.18);
}
.audit-stat strong{
  font-size:28px;
  line-height:1;
}
.audit-toolbar{
  margin-bottom:16px;
}
.audit-list{
  display:grid;
  gap:12px;
}
.audit-entry{
  border:1px solid rgba(16,24,40,.10);
  border-radius:14px;
  background:#fff;
  padding:14px;
  box-shadow:var(--shadow-sm);
}
.audit-entry-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.audit-meta{
  display:grid;
  gap:6px;
  justify-items:end;
  text-align:right;
  font-size:15px;
  color:var(--muted);
}
.audit-entry-body{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.audit-change{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(16,24,40,.10);
  background:rgba(11,37,69,.03);
  font-size:15px;
}
.audit-entry-empty{
  text-align:center;
  padding:28px 16px;
}
.form-builder-page{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}
.form-builder-full{grid-column:1 / -1}
.form-builder-one-third{grid-column:span 2}
.form-builder-two-third{grid-column:span 4}
.form-builder-page .card{
  min-width:0;
  overflow:hidden;
}
.form-builder-list{
  display:grid;
  gap:14px;
}
.form-builder-item{
  padding:14px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(11,37,69,.03), rgba(255,255,255,1));
}
.form-builder-item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.form-builder-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.form-builder-item .field,
.form-builder-item .field input,
.form-builder-item .field textarea,
.form-builder-item .field select{
  min-width:0;
  width:100%;
}
.form-builder-item-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding-top:6px;
}
.form-builder-required{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
}
.form-builder-button-row{
  justify-content:flex-end;
  flex-wrap:wrap;
}
.form-builder-button-row .btn.small{
  min-width:120px;
}
.admin-prizes-page{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:18px;
}
.admin-grid-one-third{grid-column:span 2}
.admin-grid-two-third{grid-column:span 4}
.admin-grid-half{grid-column:span 3}
.admin-prize-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.admin-prize-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.admin-prize-actions form{
  margin:0;
}
.admin-prize-actions .btn.small{
  min-height:34px;
  padding:7px 10px;
  font-size:15px;
  white-space:nowrap;
}
.admin-prize-thumb-link{
  display:inline-flex;
  text-decoration:none;
}
.admin-prize-thumb{
  width:64px;
  height:64px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(16,24,40,.10);
  background:rgba(11,37,69,.04);
  box-shadow:var(--shadow-sm);
}
.admin-prize-thumb-large{
  width:120px;
  height:120px;
}
.admin-prize-thumb-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:var(--muted);
  text-align:center;
  padding:8px;
}
@media (max-width: 900px){
  .audit-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .form-builder-page{grid-template-columns:1fr}
  .form-builder-full,.form-builder-one-third,.form-builder-two-third{grid-column:auto}
  .form-builder-grid{grid-template-columns:1fr}
  .form-builder-item-head{flex-direction:column}
  .form-builder-item-actions{align-items:flex-start}
  .form-builder-button-row{width:100%;justify-content:flex-start}
  .admin-prizes-page{grid-template-columns:1fr}
  .admin-grid-one-third,.admin-grid-two-third,.admin-grid-half{grid-column:auto}
  .audit-entry-head{flex-direction:column}
  .audit-meta{justify-items:start;text-align:left}
  .admin-prize-row{flex-direction:column}
}

/* Role tweaks */
body.role-admin .topbar::before{
  background:linear-gradient(90deg, rgba(11,37,69,1), rgba(11,37,69,.65));
}
