
:root{
  --page:#F4F6F8;
  --surface:#FFFFFF;
  --surface-soft:#F8FAFB;
  --ink:#16232D;
  --ink-2:#334550;
  --muted:#6C7A83;
  --line:#DCE3E7;
  --line-strong:#C8D2D8;
  --brand:#205B70;
  --brand-dark:#174758;
  --brand-soft:#EAF2F5;
  --success:#287557;
  --success-soft:#EBF5EF;
  --warning:#8A611B;
  --warning-soft:#FFF7E7;
  --danger:#A33E34;
  --danger-soft:#FFF1EF;
  --shadow:0 18px 48px rgba(23,42,55,.07);
  --shadow-small:0 6px 20px rgba(23,42,55,.05);
  --radius:14px;
  --radius-sm:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--page);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.wrap{width:min(1320px,calc(100% - 40px));margin:0 auto}
.hidden{display:none!important}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Header */
.siteHeader{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(160%) blur(12px);
}
.headerInner{min-height:82px;display:grid;grid-template-columns:280px 1fr auto;align-items:center;gap:28px}
.brand{display:flex;align-items:center}
.brand img{display:block;width:238px;height:auto}
.mainNav{display:flex;align-items:center;gap:4px}
.mainNav a{
  position:relative;padding:29px 13px 26px;color:#5F6E77;font-size:14px;font-weight:600;letter-spacing:-.01em;
}
.mainNav a:hover{color:var(--ink)}
.mainNav a.active{color:var(--brand-dark)}
.mainNav a.active:after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:2px;background:var(--brand)}
.headerActions{display:flex;align-items:center;gap:9px}
.btn,.ghost,.softBtn,.textButton{
  min-height:42px;border-radius:9px;padding:0 16px;border:1px solid transparent;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:650;letter-spacing:-.01em;transition:.15s ease;
}
.btn{background:var(--brand);border-color:var(--brand);color:#fff}
.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btnSecondary{background:#fff;border-color:var(--line);color:var(--ink)}
.btnSecondary:hover{background:var(--surface-soft);border-color:var(--line-strong)}
.ghost{background:transparent;color:var(--ink-2)}
.ghost:hover{background:var(--surface-soft)}
.softBtn{background:#fff;border-color:var(--line);color:var(--ink)}
.softBtn:hover{border-color:var(--line-strong);background:var(--surface-soft)}
.textButton{min-height:auto;padding:0;border:0;color:var(--brand);background:transparent}
.textButton:hover{text-decoration:underline}
.textLink{font-size:13px;font-weight:600;color:var(--brand)}
.textLink:hover{text-decoration:underline}

/* Flash */
.flashWrap{padding-top:16px}
.flash{border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600;border:1px solid var(--line);background:#fff}
.flash.success{background:var(--success-soft);border-color:#CDE4D7;color:#205E47}
.flash.error{background:var(--danger-soft);border-color:#EFCAC5;color:#87352D}
.flash.info{background:var(--brand-soft);border-color:#CCDEE5;color:#22556A}

/* Public portal */
.public{padding:34px 0 54px}
.portalHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.portalHeading h1,.panelTitle h1{
  margin:2px 0 0;font-size:34px;line-height:1.12;letter-spacing:-.035em;font-weight:720;
}
.eyebrow,.sectionKicker{
  display:block;color:var(--brand);font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;
}
.filterBar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.filterBar label{display:grid;gap:6px}
.filterBar label>span{font-size:12px;font-weight:650;color:var(--muted)}
.filterBar select{
  height:42px;min-width:180px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);
  padding:0 36px 0 12px;outline:0;
}
.filterBar select:focus{border-color:#9EB9C4;box-shadow:0 0 0 3px rgba(32,91,112,.09)}

.portalGrid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:18px;align-items:start}
.eventsPanel,.eventPanel{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-small);
}
.eventsPanel{overflow:hidden}
.panelHead{
  height:58px;padding:0 18px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
}
.panelHead strong{font-size:15px;font-weight:700}
.panelHead span{
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--surface-soft);
  border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700;
}
.jobList{display:grid;max-height:calc(100vh - 208px);overflow:auto}
.job{
  position:relative;display:block;padding:19px 20px 18px;border-bottom:1px solid var(--line);background:#fff;
  transition:background .15s ease;
}
.job:last-child{border-bottom:0}
.job:hover{background:#FAFCFD}
.job.active{background:#F4F8FA}
.job.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}
.jobLabel{font-size:11px;font-weight:700;color:var(--brand);letter-spacing:.025em}
.jobLabel span{color:#A0ABB1;padding:0 3px}
.job h2{
  margin:6px 0 2px;font-size:19px;line-height:1.25;letter-spacing:-.022em;font-weight:700;
}
.jobOrg{font-size:13px;color:var(--muted)}
.jobFacts{display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:8px;margin:15px 0 0}
.jobFacts div{min-width:0}
.jobFacts dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94A0A7;margin-bottom:2px}
.jobFacts dd{margin:0;font-size:12px;font-weight:580;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jobTask{margin-top:13px;padding-top:12px;border-top:1px solid #EDF1F3;font-size:13px;font-weight:650;color:var(--ink)}
.emptyState{padding:34px 20px;color:var(--muted);font-size:14px;text-align:center}
.emptyState.large{padding:70px 20px}

.eventPanel{padding:32px 34px;position:sticky;top:104px;min-height:620px}
.eventTopline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:600}
.openStatus{
  display:inline-flex;align-items:center;gap:6px;color:#24694F;font-size:12px;font-weight:700;
}
.openStatus:before{content:"";width:7px;height:7px;border-radius:50%;background:#3A8B68}
.eventPanel>h1{
  margin:11px 0 4px;font-size:38px;line-height:1.08;letter-spacing:-.042em;font-weight:730;
}
.eventOrg{font-size:15px;color:var(--muted);font-weight:520}
.eventFacts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:27px 0 4px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.eventFacts>div{padding:16px 18px 16px 0}
.eventFacts>div+div{padding-left:18px;border-left:1px solid var(--line)}
.eventFacts span{display:block;font-size:11px;color:var(--muted);font-weight:650;margin-bottom:3px}
.eventFacts strong{display:block;font-size:14px;line-height:1.35;font-weight:650;color:var(--ink)}

.contentSection{padding:24px 0 4px}
.contentSection h3{margin:4px 0 7px;font-size:19px;line-height:1.3;letter-spacing:-.015em}
.desc{font-size:15px;line-height:1.7;color:#42535D;max-width:78ch}
.compensationPro{
  margin:24px 0 4px;padding:19px 20px;background:#F3F7F8;border:1px solid #D9E5E8;border-radius:11px;
}
.compensationPro strong{display:block;margin-top:5px;font-size:17px;line-height:1.4;color:#153F4F}
.compensationPro p{margin:5px 0 0;font-size:14px;line-height:1.55;color:#51656F}
.requirements{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.requirements span{
  display:inline-flex;padding:7px 10px;border-radius:7px;background:#F6F8F9;border:1px solid var(--line);
  font-size:12px;font-weight:600;color:#4C5D66;
}

/* Contact */
.contactBox{margin-top:26px;padding-top:25px;border-top:1px solid var(--line)}
.contactHead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.contactHead h3{margin:3px 0 0;font-size:22px;letter-spacing:-.02em}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;color:#4F5F68;font-weight:650}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--ink);
  border-radius:9px;padding:11px 12px;outline:0;min-height:44px;
}
.field textarea{resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:#91AFBB;box-shadow:0 0 0 3px rgba(32,91,112,.09);
}
.legalCheck{display:flex!important;align-items:flex-start;gap:9px!important;font-size:12px!important;color:var(--muted)!important;font-weight:500!important;line-height:1.45}
.legalCheck input{width:auto;min-height:0;margin-top:3px;accent-color:var(--brand)}
.legalCheck span{display:block}
.legalCheck a{color:var(--brand);text-decoration:underline}
.contactSubmit{width:100%;margin-top:13px}

/* Dashboard */
.dashboardWrap{padding:30px 0 54px}
.dashboard{display:grid;grid-template-columns:238px minmax(0,1fr);gap:18px;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-small)}
.dashSide{padding:12px;position:sticky;top:104px}
.profile{padding:10px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:8px}
.avatar{
  width:46px;height:46px;border-radius:11px;background:#173A4A;display:grid;place-items:center;color:#fff;
  font-weight:720;font-size:13px;letter-spacing:.02em;margin-bottom:11px;
}
.profile strong{display:block;font-size:14px;line-height:1.35}
.profile small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.sidebtn{
  display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;text-align:left;
  border-radius:8px;padding:10px 11px;font-size:13px;color:#596972;font-weight:620;margin:2px 0;
}
.sidebtn.active,.sidebtn:hover{background:#F1F5F6;color:#173F50}
.sidebtn.active{font-weight:700}
.dashPanel{padding:30px 32px}
.dashPanel h1{font-size:31px;line-height:1.15;letter-spacing:-.035em;margin:3px 0 0;font-weight:720}
.panelTitle{margin-bottom:22px}
.toolbar{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;
  padding-bottom:17px;margin:0 0 2px;border-bottom:1px solid var(--line)
}
.toolbar>div>strong{font-size:13px;color:var(--muted);font-weight:600}
.toolbarGroup{display:flex;gap:8px;flex-wrap:wrap}
.list{display:grid}
.row{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  border-bottom:1px solid var(--line);padding:18px 2px;
}
.row:last-child{border-bottom:0}
.row>div{min-width:0}
.row strong{font-size:15px;line-height:1.4;font-weight:680}
.row small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}
.status{
  display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;
  background:#EEF2F3;color:#52616A;
}
.status.published{background:var(--success-soft);color:#24694F}
.status.closed{background:var(--warning-soft);color:#78541A}
.status.draft{background:#EEF2F3;color:#5D6970}
.status.new{background:var(--brand-soft);color:#255A6E}
.miniActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.mini{
  min-height:32px;display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;
  border-radius:7px;padding:0 9px;font-size:11px;font-weight:650;color:#4F5F68;
}
.mini:hover{background:var(--surface-soft);border-color:var(--line-strong)}
.mini.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.mini.success{background:var(--success);border-color:var(--success);color:#fff}
.mini.danger{background:#fff;color:var(--danger);border-color:#EBC9C5}
.compensation{margin-top:10px}
.compensation strong{font-size:13px;color:#28576A}
.compensation span{display:block;font-size:12px;color:var(--muted);margin-top:2px}

/* Forms / event editor */
.formPanel{box-shadow:var(--shadow)}
.sectionCard{padding:20px 21px;border:1px solid var(--line);border-radius:11px;background:#FAFBFC;margin-top:20px}
.sectionCard h3{font-size:17px;letter-spacing:-.015em}
.formPanel>.formgrid,.formPanel form>.formgrid{margin-top:20px}
.formPanel .toolbar{margin-top:22px!important;padding-top:20px;border-top:1px solid var(--line);border-bottom:0;padding-bottom:0}
.moneyFields{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* Auth / legal / install */
.authPage,.installPage,.legalPage{padding:46px 0 68px}
.authCard,.installCard,.legalCard{
  width:min(760px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:32px 34px;
}
.authCard{width:min(620px,100%)}
.authCard h1,.installCard h1,.legalCard h1{
  font-size:32px;line-height:1.15;letter-spacing:-.035em;margin:4px 0 22px;font-weight:720;
}
.authCard p,.installCard p,.legalCard p,.legalCard li{font-size:14px;color:#465760;line-height:1.72}
.legalCard h2{font-size:21px;letter-spacing:-.015em;margin:30px 0 8px}
.legalCard h3{font-size:16px;margin:22px 0 7px}
.legalCard ul{padding-left:21px}
.legalIntro{padding:16px;border-radius:10px;background:#F2F7F8;border:1px solid #D6E4E8;color:#365B6A;font-size:14px;line-height:1.65}
.warningBox{padding:13px 14px;border-radius:9px;background:var(--warning-soft);border:1px solid #EADCB9;color:#76551C;font-size:13px}
.placeholder{display:inline-block;background:var(--danger-soft);border:1px solid #EBC9C5;color:#87352D;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:650}

/* Cookie */
.cookieBanner{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:200;max-width:1040px;margin:auto;background:#fff;
  border:1px solid var(--line);border-radius:13px;box-shadow:0 24px 70px rgba(23,42,55,.17);padding:18px;
}
.cookieGrid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.cookieCopy strong{display:block;font-size:15px;margin-bottom:4px}
.cookieCopy p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.cookieActions{display:flex;gap:8px;flex-wrap:wrap}
.cookieSettings{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cookieSetting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.cookieSetting strong{display:block;font-size:13px}
.cookieSetting small{display:block;color:var(--muted);font-size:11px}
.cookieSetting input{accent-color:var(--brand)}

/* Footer */
footer{background:#fff;border-top:1px solid var(--line);padding:25px 0 30px}
.footerRow{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.legalLinks{display:flex;gap:15px;flex-wrap:wrap}
.legalLinks a,.footerLink{color:var(--muted);font-size:12px;background:transparent;border:0;padding:0}
.legalLinks a:hover,.footerLink:hover{color:var(--brand);text-decoration:underline}

/* Old / unused visual clutter */
.subbar,.filters,.topSearch,.compHelp,.exchangeBox,.sideNote,.subMeta{display:none!important}

/* Responsive */
@media(max-width:1080px){
  .headerInner{grid-template-columns:230px 1fr auto;gap:18px}
  .brand img{width:215px}
  .mainNav a{padding-left:9px;padding-right:9px;font-size:13px}
  .portalGrid{grid-template-columns:350px minmax(0,1fr)}
  .eventFacts{grid-template-columns:1fr 1fr}
  .eventFacts>div:nth-child(3){border-left:0}
  .eventFacts>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:860px){
  .wrap{width:min(100% - 24px,1320px)}
  .headerInner{min-height:74px;grid-template-columns:1fr auto}
  .brand img{width:205px}
  .mainNav{display:none}
  .headerActions .ghost{display:none}
  .public{padding-top:24px}
  .portalHeading{align-items:flex-start;flex-direction:column}
  .filterBar{width:100%}
  .filterBar label{flex:1;min-width:160px}
  .filterBar select{width:100%;min-width:0}
  .portalGrid,.dashboard{grid-template-columns:1fr}
  .eventsPanel{order:1}
  .eventPanel{order:2;position:static;min-height:0}
  .jobList{max-height:none}
  .dashSide{position:static;display:grid;grid-template-columns:repeat(2,1fr)}
  .profile{grid-column:1/-1}
}
@media(max-width:620px){
  body{font-size:15px}
  .wrap{width:min(100% - 18px,1320px)}
  .headerInner{min-height:68px;gap:10px}
  .brand img{width:180px}
  .headerActions .btn{padding:0 11px;font-size:12px;min-height:38px}
  .portalHeading h1,.panelTitle h1{font-size:29px}
  .filterBar{display:grid;grid-template-columns:1fr 1fr}
  .filterBar .btn{grid-column:1/-1}
  .textLink{grid-column:1/-1}
  .portalGrid{gap:12px}
  .job{padding:17px}
  .jobFacts{grid-template-columns:1fr 1fr}
  .jobFacts div:last-child{grid-column:1/-1}
  .eventPanel{padding:24px 20px}
  .eventPanel>h1{font-size:31px}
  .eventFacts{grid-template-columns:1fr}
  .eventFacts>div,.eventFacts>div+div{padding:13px 0;border-left:0;border-top:1px solid var(--line)}
  .eventFacts>div:first-child{border-top:0}
  .formgrid,.moneyFields{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .contactHead{align-items:flex-start;flex-direction:column}
  .dashboardWrap{padding-top:18px}
  .dashSide{grid-template-columns:1fr}
  .profile{grid-column:auto}
  .dashPanel{padding:24px 20px}
  .row{flex-direction:column}
  .authPage,.installPage,.legalPage{padding:24px 0 46px}
  .authCard,.installCard,.legalCard{padding:24px 20px}
  .cookieGrid{grid-template-columns:1fr}
  .footerRow{flex-direction:column}
}


/* V14 readability + subtle background */
:root{
  --ink:#12212B;
  --ink-2:#2A3D48;
  --muted:#5B6B75;
  --brand:#1D6077;
  --brand-dark:#164B5D;
  --line:#D8E1E6;
  --line-strong:#C2D0D8;
  --page:#F5F7F8;
}
body{position:relative;background:linear-gradient(180deg,#F7F9FA 0%,#F3F6F7 100%)}
body::before{
  content:"";
  position:fixed;
  inset:82px 0 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.22)),
    url("portal-background-soft.svg") center top / 1400px auto no-repeat;
  opacity:.32;
  pointer-events:none;
  z-index:0;
}
.siteHeader,.public,.dashboardWrap,.authPage,.installPage,.legalPage,footer{position:relative;z-index:1}
.siteHeader{background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(18,33,43,.05)}
.headerInner{grid-template-columns:320px 1fr auto;min-height:88px}
.brand img{width:290px;max-width:100%;height:auto}
.mainNav a{font-size:15px;font-weight:700;color:#384A56}
.mainNav a:hover{color:var(--brand-dark)}
.mainNav a.active{color:#153D4D}
.headerActions .ghost{font-size:14px;font-weight:700;color:#243844}
.headerActions .btn{font-weight:700}
.portalHeading{margin-bottom:24px}
.portalHeading h1{font-size:40px;font-weight:780;color:#13232E}
.eyebrow{font-size:12px;color:#456474}
.filterBar label>span{font-size:13px;color:#4E5F68}
.filterBar select{min-width:190px;font-size:14px}
.eventsPanel,.eventPanel,.dashPanel,.dashSide,.authCard,.installCard,.legalCard{box-shadow:0 10px 32px rgba(18,33,43,.055)}
.panelHead{height:62px}
.panelHead strong{font-size:16px}
.job{padding:20px 22px}
.jobLabel{font-size:12px}
.job h2{font-size:23px;line-height:1.22;color:#172A36}
.jobOrg{font-size:14px;color:#61717A}
.jobFacts dt{font-size:10.5px}
.jobFacts dd{font-size:13px;color:#243640}
.jobTask{font-size:14px;color:#12212B}
.eventPanel{padding:36px 38px}
.eventTopline{font-size:13px}
.eventPanel>h1{font-size:42px;color:#142430}
.eventOrg{font-size:16px;color:#596A74}
.eventFacts strong{font-size:15px;color:#172A36}
.contentSection h3{font-size:22px}
.desc{font-size:16px;color:#384B56}
.compensationPro{background:rgba(255,255,255,.72);backdrop-filter:blur(5px);border-color:#D6E1E6}
.compensationPro strong{font-size:18px}
.compensationPro p{font-size:15px;color:#465A65}
.contactHead h3{font-size:24px}
.field label{font-size:14px;color:#43545E}
.field input,.field select,.field textarea{font-size:15px;color:#152530}
.btn,.ghost,.softBtn,.textButton{font-size:14px}
.footerRow{font-size:13px}
.legalLinks a,.footerLink{font-size:13px}
.authCard h1,.installCard h1,.legalCard h1,.dashPanel h1{color:#13232E}
.profile strong{font-size:15px}
.profile small,.row small{color:#60717B}
.row strong{font-size:16px}
.mini{font-size:12px}
@media(max-width:1080px){
  .headerInner{grid-template-columns:280px 1fr auto}
  .brand img{width:252px}
  body::before{background-size:1200px auto;opacity:.28}
}
@media(max-width:860px){
  .headerInner{grid-template-columns:1fr auto;min-height:76px}
  .brand img{width:226px}
  body::before{inset:76px 0 0 0;background-size:1000px auto;opacity:.24}
  .portalHeading h1{font-size:34px}
  .eventPanel>h1{font-size:36px}
}
@media(max-width:620px){
  .brand img{width:196px}
  body::before{inset:68px 0 0 0;background-size:820px auto;opacity:.2}
  .portalHeading h1{font-size:30px}
  .job h2{font-size:21px}
  .eventPanel>h1{font-size:32px}
  .eventPanel{padding:26px 22px}
}


/* V15 GODMODE: portalnahes Logo, lesbarer Header, verteilter Hintergrund */
body::before{
  content:"";
  position:fixed;
  inset:88px 0 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.20)),
    url("portal-background-soft.svg") center top / 1650px auto no-repeat;
  opacity:.38;
  pointer-events:none;
  z-index:0;
}
.headerInner{
  grid-template-columns:340px 1fr auto;
  min-height:90px;
  gap:28px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.brandMark{
  width:58px !important;
  height:58px !important;
  display:block;
  flex:0 0 auto;
}
.brandCopy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.brandCopy strong{
  display:block;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.03em;
  color:#10212C;
}
.brandCopy small{
  display:block;
  margin-top:7px;
  font-size:16px;
  font-weight:650;
  color:#486373;
  letter-spacing:.01em;
}
.mainNav a{
  font-size:15px;
  font-weight:700;
}
.mainNav a.active:after{
  left:10px;
  right:10px;
  height:2px;
}
.headerActions .ghost{
  color:#203641;
  font-weight:700;
}
.portalHeading h1{
  font-size:42px;
}
.eventsPanel,.eventPanel,.dashPanel,.dashSide,.authCard,.installCard,.legalCard{
  backdrop-filter:saturate(140%) blur(2px);
}
@media(max-width:1100px){
  body::before{
    background-size:1450px auto;
    opacity:.34;
  }
  .headerInner{
    grid-template-columns:300px 1fr auto;
  }
  .brandMark{width:54px !important;height:54px !important}
  .brandCopy strong{font-size:25px}
  .brandCopy small{font-size:15px}
}
@media(max-width:860px){
  body::before{
    inset:78px 0 0 0;
    background-size:1260px auto;
    opacity:.28;
  }
  .headerInner{
    grid-template-columns:1fr auto;
    min-height:78px;
  }
  .brand{
    gap:12px;
  }
  .brandMark{width:48px !important;height:48px !important}
  .brandCopy strong{font-size:23px}
  .brandCopy small{font-size:14px}
}
@media(max-width:620px){
  body::before{
    inset:68px 0 0 0;
    background-size:1060px auto;
    opacity:.22;
  }
  .brandMark{width:42px !important;height:42px !important}
  .brandCopy strong{font-size:20px}
  .brandCopy small{font-size:13px}
  .portalHeading h1{font-size:32px}
}


/* V16 Administration */
.adminBody{background:#F3F6F7;color:var(--ink)}
.adminWrap{width:min(1120px,calc(100% - 36px));margin:auto}
.adminHeader{background:#102A39;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.adminHeaderInner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.adminBrand{display:flex;align-items:center;gap:12px}
.adminBrand img{width:44px;height:44px}
.adminBrand span{display:flex;flex-direction:column;line-height:1}
.adminBrand strong{font-size:18px}
.adminBrand small{margin-top:5px;font-size:12px;color:#AFC2CB}
.adminHeaderActions{display:flex;gap:16px}
.adminHeaderActions a{font-size:13px;font-weight:700;color:#D7E2E7}
.adminHeaderActions a:hover{color:#fff}
.adminMain{padding:36px 0 60px}
.adminAuth{width:min(520px,calc(100% - 28px));margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}
.adminAuth h1{margin:4px 0 22px;font-size:31px;letter-spacing:-.035em}
.adminSubmit{width:100%;margin-top:16px}
.adminTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.adminTitle h1{margin:3px 0 0;font-size:36px;letter-spacing:-.04em}
.adminUser{font-size:13px;color:var(--muted);font-weight:650}
.adminStats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.adminStats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.adminStats span{display:block;font-size:12px;color:var(--muted);font-weight:650}
.adminStats strong{display:block;margin-top:5px;font-size:28px;letter-spacing:-.03em}
.adminPanel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px;margin-top:18px;box-shadow:var(--shadow-small)}
.adminPanelHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.adminPanelHead h2{margin:3px 0 0;font-size:23px;letter-spacing:-.025em}
.adminToggle{display:flex!important;align-items:center;gap:10px!important;font-size:14px!important}
.adminToggle input{width:auto!important;min-height:0!important;accent-color:var(--brand)}
.adminInfoGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.adminInfoGrid>div{background:#F7F9FA;border:1px solid var(--line);border-radius:9px;padding:14px}
.adminInfoGrid span{display:block;font-size:11px;color:var(--muted);font-weight:650}
.adminInfoGrid strong{display:block;margin-top:4px;font-size:14px}
.adminFooter{padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(max-width:780px){
 .adminStats,.adminInfoGrid{grid-template-columns:1fr 1fr}
 .adminTitle{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
 .adminStats,.adminInfoGrid{grid-template-columns:1fr}
 .adminPanel{padding:22px 18px}
}


/* V17 Admin moderation */
.adminCount{font-size:12px;color:var(--muted);font-weight:700}
.adminEmpty{padding:24px 0;color:var(--muted);font-size:14px}
.adminEventList{display:grid}
.adminEventRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;
  padding:19px 0;border-top:1px solid var(--line)
}
.adminEventRow:first-child{border-top:0}
.adminEventMain{min-width:0}
.adminEventTop{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:650}
.adminEventRow h3{margin:6px 0 8px;font-size:18px;letter-spacing:-.015em}
.adminEventMeta{display:flex;gap:8px 18px;flex-wrap:wrap;color:#596B75;font-size:12px}
.adminEventMeta strong{color:#344955}
.adminEventActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.adminEventActions form{margin:0}
@media(max-width:760px){
 .adminEventRow{grid-template-columns:1fr}
 .adminEventActions{justify-content:flex-start}
}


/* V18: Browser-Autofill im Registrierungsformular unterdrücken */
.autofillTrap{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* V19 Event QR codes */
.qrMini{color:var(--brand);border-color:#BCD2DB;background:#F6FAFB}
.qrPage{padding:30px 32px;max-width:1050px;margin:auto}
.qrPageHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.qrPageHead h1{margin:3px 0 3px;font-size:34px;letter-spacing:-.035em}
.qrPageHead p{margin:0;color:var(--muted);font-size:14px}
.qrLayout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:34px;align-items:start}
.qrCard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow-small)}
.qrCanvasWrap{width:100%;aspect-ratio:1;background:#fff;display:grid;place-items:center}
.qrCanvasWrap canvas{display:block;width:100%;height:auto;image-rendering:pixelated}
.qrCaption{padding-top:17px;border-top:1px solid var(--line);margin-top:18px}
.qrCaption strong{display:block;font-size:17px}
.qrCaption span{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.qrTools{padding-top:8px}
.qrUrl{margin:8px 0 18px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#F7F9FA;font-size:13px;line-height:1.5;word-break:break-all;color:#344955}
.qrButtons{display:flex;gap:9px;flex-wrap:wrap}
.qrStatus{min-height:24px;margin-top:13px;color:var(--success);font-size:13px;font-weight:700}
@media(max-width:780px){
 .qrLayout{grid-template-columns:1fr}
 .qrCard{max-width:460px;width:100%;margin:auto}
 .qrPage{padding:24px 20px}
}
@media print{
 .siteHeader,.qrPageHead>a,.qrTools,footer{display:none!important}
 body::before{display:none!important}
 .dashboardWrap{padding:0}
 .qrPage{border:0!important;box-shadow:none!important;padding:0!important}
 .qrLayout{display:block}
 .qrCard{width:155mm;max-width:none;margin:20mm auto 0;border:0;box-shadow:none}
}


/* V20 Admin: Veranstalter verwalten */
.adminOrganizerList{display:grid}
.adminOrganizerRow{
  display:grid;grid-template-columns:48px minmax(0,1fr) auto;
  gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--line)
}
.adminOrganizerRow:first-child{border-top:0}
.adminOrganizerAvatar{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  background:#173A4A;color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em
}
.adminOrganizerMain{min-width:0}
.adminOrganizerMain h3{margin:0 0 5px;font-size:17px;letter-spacing:-.015em}
.adminOrganizerContact,.adminOrganizerStats{
  display:flex;gap:7px 16px;flex-wrap:wrap;color:var(--muted);font-size:12px
}
.adminOrganizerStats{margin-top:7px}
.adminOrganizerStats strong{color:var(--ink);font-weight:800}
.adminOrganizerActions form{margin:0}
@media(max-width:760px){
  .adminOrganizerRow{grid-template-columns:44px minmax(0,1fr)}
  .adminOrganizerActions{grid-column:1/-1;padding-left:60px}
}
@media(max-width:520px){.adminOrganizerActions{padding-left:0}}
