
:root{--navy:#062c5c;--blue:#087fc4;--gold:#c9912e;--cream:#fff7e8;--ink:#10233e;--ok:#18864b;--bad:#b93232}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#fff8eb,#eef6ff);color:var(--ink)}
body:before{content:"";position:fixed;inset:0;background:url("zaproszenie.png") center/cover no-repeat;opacity:.08;z-index:-1}
.wrap{max-width:760px;margin:auto;padding:18px}.hero{text-align:center;padding:18px 8px 8px}.logo{width:min(250px,55vw);height:auto}
h1{font-family:Georgia,serif;letter-spacing:.05em;color:var(--navy);margin:8px 0}.sub{color:#71572d}
.card{background:rgba(255,255,255,.95);border:1px solid #e6d4ae;border-radius:22px;padding:20px;margin:14px 0;box-shadow:0 12px 35px #17385d18}
.btn,button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:14px;background:var(--navy);color:white;font-weight:800;font-size:16px;text-decoration:none;padding:12px 16px;cursor:pointer}
.btn.gold,button.gold{background:linear-gradient(135deg,#b87917,#e5b84c)}.btn.light{background:#eaf4fb;color:var(--navy)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.big{font-size:42px;font-weight:900;color:var(--navy)}
input,select{width:100%;padding:15px;border:1px solid #c8d2df;border-radius:13px;font-size:16px;background:white;margin:6px 0 12px}
label{font-size:13px;font-weight:800}.result{border-left:5px solid var(--gold);padding:13px;background:#fff8e8;border-radius:10px;margin:10px 0}
.person{padding:12px;border-bottom:1px solid #eee}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e8f4ff;color:var(--navy);font-weight:800;font-size:12px}
.topbar{position:sticky;top:0;background:#062c5cf2;color:white;padding:10px 16px;z-index:5}.topbar .inner{max-width:1000px;margin:auto;display:flex;gap:8px;align-items:center;justify-content:space-between}
.admin{max-width:1000px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:white;border-radius:16px;padding:15px;text-align:center;border:1px solid #ddd}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:9px;border-bottom:1px solid #eee;text-align:left}.scroll{overflow:auto}
.ok{color:var(--ok);font-weight:800}.bad{color:var(--bad);font-weight:800}
.partner{font-size:12px;color:#8a6d3a;text-align:center;margin-top:14px}
@media(max-width:560px){.grid,.stats{grid-template-columns:1fr}.wrap{padding:12px}.card{padding:16px}.big{font-size:36px}}



/* ===== V003 — LEWIATAN 25 / MOBILE LANDING ===== */
:root{
  --lew-navy:#062c5c;
  --lew-navy-2:#0b3d74;
  --lew-blue:#1183c2;
  --lew-gold:#c89432;
  --lew-gold-2:#e2b65d;
  --lew-cream:#fff9ed;
  --lew-paper:#f6efe0;
  --lew-ink:#10233e;
}

body.landing{
  min-height:100%;
  background:
    radial-gradient(circle at 85% 12%,rgba(226,182,93,.22),transparent 24rem),
    radial-gradient(circle at 10% 85%,rgba(17,131,194,.10),transparent 28rem),
    linear-gradient(160deg,#fffaf0 0%,#f4ead7 52%,#edf5fa 100%);
  color:var(--lew-ink);
}

body.landing:before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.79),rgba(255,255,255,.79)),
    url("zaproszenie.png") center/cover no-repeat;
  opacity:.22;
  z-index:-2;
}

.event-shell{
  width:min(100%,760px);
  margin:0 auto;
  padding:0 14px 28px;
}

.event-hero{
  margin:0 -14px;
  padding:34px 24px 30px;
  text-align:center;
  color:white;
  background:
    linear-gradient(155deg,rgba(3,32,67,.98),rgba(7,62,110,.96)),
    url("zaproszenie.png") center/cover;
  border-radius:0 0 34px 34px;
  box-shadow:0 18px 40px rgba(6,44,92,.22);
  position:relative;
  overflow:hidden;
}

.event-hero:after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border:1px solid rgba(226,182,93,.26);
  border-radius:50%;
  top:-110px;
  right:-80px;
}

.anniversary-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}

.hero-logo{
  width:148px;
  max-width:42vw;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.18));
}

.anniversary-copy{
  min-width:86px;
  text-align:left;
  border-left:1px solid rgba(226,182,93,.72);
  padding-left:16px;
}

.years{
  display:block;
  font-family:Georgia,serif;
  font-size:48px;
  line-height:.9;
  color:#f2ca74;
  font-weight:700;
}

.years-label{
  display:block;
  margin-top:6px;
  color:#f7ddaa;
  font-size:11px;
  letter-spacing:.19em;
  font-weight:800;
}

.gold-rule{
  height:1px;
  max-width:300px;
  margin:23px auto 20px;
  background:linear-gradient(90deg,transparent,#dcb257,transparent);
}

.event-hero .eyebrow{
  margin:0 0 7px;
  color:#dfbc72;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}

.event-hero h1{
  color:white;
  max-width:620px;
  margin:0 auto 17px;
  font-size:clamp(25px,7vw,41px);
  line-height:1.1;
  letter-spacing:.01em;
  text-transform:none;
}

.event-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px 13px;
  font-size:13px;
  color:#edf6ff;
}

.event-meta div{
  display:flex;
  align-items:center;
  gap:6px;
}

.meta-icon{
  color:#dfb85c;
  font-size:8px;
}

.role-panel{
  padding-top:18px;
}

.welcome-card{
  padding:12px 5px 8px;
  text-align:center;
}

.section-kicker{
  display:inline-block;
  color:#a66f14;
  font-weight:900;
  font-size:11px;
  letter-spacing:.18em;
}

.welcome-card h2{
  font-family:Georgia,serif;
  font-size:26px;
  color:var(--lew-navy);
  margin:7px 0 6px;
}

.welcome-card p{
  margin:0 auto;
  max-width:570px;
  color:#667085;
  font-size:14px;
  line-height:1.55;
}

.role-grid{
  display:grid;
  gap:12px;
  margin-top:15px;
}

.role-card{
  width:100%;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 28px;
  align-items:center;
  gap:13px;
  padding:17px;
  min-height:92px;
  border-radius:20px;
  text-decoration:none;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(6,44,92,.10);
  box-shadow:0 12px 28px rgba(16,35,62,.07);
  color:var(--lew-ink);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.role-card:active{
  transform:scale(.985);
}

.role-card.participant{
  border-color:rgba(200,148,50,.34);
}

.role-card.controller{
  border-color:rgba(17,131,194,.28);
}

.role-card.admin-role{
  border-color:rgba(6,44,92,.22);
}

.role-icon{
  height:54px;
  width:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  font-size:26px;
  color:white;
  background:linear-gradient(150deg,var(--lew-navy),var(--lew-navy-2));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.participant .role-icon{
  color:#052d59;
  background:linear-gradient(145deg,#f7dda0,#c68d27);
}

.controller .role-icon{
  background:linear-gradient(145deg,#1686c1,#075da2);
}

.role-copy{
  min-width:0;
}

.role-copy strong{
  display:block;
  color:var(--lew-navy);
  font-size:17px;
  margin-bottom:4px;
}

.role-copy span{
  display:block;
  color:#667085;
  font-size:12.5px;
  line-height:1.38;
}

.role-arrow{
  color:#b48529;
  font-family:Georgia,serif;
  font-size:34px;
  text-align:right;
}

.event-info-card{
  margin-top:16px;
  background:rgba(6,44,92,.96);
  color:white;
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 32px rgba(6,44,92,.16);
}

.info-title{
  color:#e0bb6c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  margin-bottom:10px;
  text-transform:uppercase;
}

.info-row{
  display:grid;
  grid-template-columns:85px 1fr;
  gap:10px;
  padding:9px 0;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:13px;
}

.info-row span{
  color:#b9cbe1;
}

.info-row b{
  font-weight:700;
}

.event-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#80632f;
  font-size:11px;
  letter-spacing:.05em;
  margin:19px 0 4px;
}

.event-footer i{
  width:24px;
  height:1px;
  background:#bd9144;
}

/* Legacy screens get a slightly more cohesive Lewiatan treatment without changing functionality */
body:not(.landing) .card{
  border-color:#e7d7b6;
}
body:not(.landing) .btn.gold,
body:not(.landing) button.gold{
  background:linear-gradient(135deg,#ad731a,#d9aa45);
}
body:not(.landing) .topbar{
  background:linear-gradient(100deg,#052d5e,#0a447e);
}

@media(min-width:720px){
  .event-shell{padding-bottom:40px}
  .event-hero{padding-top:42px}
  .role-grid{grid-template-columns:repeat(3,1fr)}
  .role-card{
    grid-template-columns:1fr;
    text-align:center;
    min-height:220px;
    align-content:center;
  }
  .role-icon{margin:0 auto}
  .role-arrow{display:none}
  .role-copy strong{font-size:19px}
  .role-copy span{font-size:13px}
}

/* ===== V009 — ZAPROSZAMY / JUBILEUSZ LOGO ===== */
body.landing-v009{background:#f8f0df}
body.landing-v009:before{opacity:.18;background:linear-gradient(rgba(255,250,239,.76),rgba(255,250,239,.76)),url("zaproszenie.png") center/cover no-repeat}
.landing-v009 .event-shell{width:min(100%,860px)}
.landing-admin{position:fixed;z-index:30;right:max(14px,calc((100vw - 940px)/2));top:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:#062c5c;color:#e5b85b;border:1px solid #d3a548;box-shadow:0 8px 22px #062c5c2b;font-size:20px}
.v009-hero{padding-top:18px;background:linear-gradient(155deg,rgba(3,32,67,.98),rgba(7,62,110,.96)),url("zaproszenie.png") center/cover}
.jubilee-logo{display:block;width:min(300px,62vw);max-height:250px;object-fit:contain;margin:0 auto -2px;filter:drop-shadow(0 9px 18px rgba(0,0,0,.18))}
.v009-hero .gold-rule{margin:8px auto 15px}
.v009-panel{padding-top:22px}
.invite-main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:min(100%,650px);min-height:210px;margin:0 auto;padding:24px;border-radius:25px;text-decoration:none;color:white;background:linear-gradient(145deg,#082f60,#031e42);border:2px solid #c99535;box-shadow:0 15px 34px #062c5c33,inset 0 0 0 2px #ffffff10}
.invite-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;margin-bottom:10px;background:linear-gradient(145deg,#f1ce79,#b97917);color:#062c5c;font-size:30px}
.invite-main strong{font-size:clamp(31px,7vw,46px);line-height:1;letter-spacing:.02em}
.invite-main>span:last-child{margin-top:11px;color:#f1cf84;font-family:Georgia,serif;font-size:17px;line-height:1.35}
.v009-info{width:min(100%,650px);margin:16px auto 0}
.v009-footer{width:min(100%,650px);margin:20px auto 0;display:flex;flex-direction:column;gap:6px;color:#9a6c1d}
.v009-footer span{font-weight:800;letter-spacing:.12em}
.v009-footer em{font-family:Georgia,serif;font-size:18px;color:#b47a1e}
@media(max-width:560px){.landing-admin{right:10px;top:10px;width:40px;height:40px}.v009-hero{padding:16px 18px 24px}.jubilee-logo{width:min(250px,70vw);max-height:210px}.v009-hero h1{font-size:27px}.invite-main{min-height:190px;padding:20px 16px}.v009-info{padding:16px}.v009-footer em{font-size:16px}}
\n\n/* ===== V010 PRO — premium invitation refinement ===== */\nbody.landing-v010:before{opacity:.36;background:linear-gradient(90deg,rgba(255,247,231,.52),rgba(255,250,241,.68) 42%,rgba(245,249,251,.52)),url("zaproszenie.png") center/cover no-repeat}\n.landing-v010 .event-shell{width:min(100%,1120px);padding-left:20px;padding-right:20px}\n.landing-v010 .event-hero{margin-left:0;margin-right:0;border-radius:0 0 38px 38px;padding:22px 42px 32px}\n.landing-v010 .jubilee-logo{width:min(370px,65vw);max-height:300px}\n.landing-v010 .v009-hero .gold-rule{margin:4px auto 16px;max-width:430px}\n.landing-v010 .event-hero h1{font-size:clamp(30px,4.1vw,48px);margin-bottom:22px}\n.landing-v010 .event-meta{gap:12px 25px;font-size:16px}\n.landing-v010 .event-meta .meta-icon{font-size:10px}\n.landing-v010 .v009-panel{padding-top:28px}\n.landing-v010 .invite-main{width:min(100%,790px);min-height:245px;padding:30px 34px;border-radius:30px;border:1px solid #d7a844;box-shadow:0 22px 48px rgba(6,44,92,.25),inset 0 0 0 1px rgba(255,255,255,.08)}\n.landing-v010 .invite-icon{width:64px;height:64px;border-radius:18px;margin-bottom:16px}\n.landing-v010 .invite-main strong{font-family:Georgia,serif;font-size:clamp(38px,6vw,58px);letter-spacing:.07em}\n.landing-v010 .invite-main>span:last-child{font-size:20px;margin-top:16px}\n.landing-v010 .v010-info{width:min(100%,790px);margin:18px auto 0;padding:0;background:rgba(255,250,240,.90);color:#10233e;border:1px solid rgba(201,145,46,.42);display:grid;grid-template-columns:1fr 1.35fr;overflow:hidden;box-shadow:0 12px 28px rgba(6,44,92,.10)}\n.v010-info-item{display:flex;align-items:center;gap:13px;padding:17px 20px}.v010-info-item+ .v010-info-item{border-left:1px solid rgba(201,145,46,.28)}\n.v010-info-icon{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#062c5c;color:#e5b85b;font-weight:900}.v010-info-item div{display:flex;flex-direction:column;gap:3px}.v010-info-item small{text-transform:uppercase;letter-spacing:.12em;color:#9a6c1d;font-weight:800;font-size:10px}.v010-info-item b{font-size:14px;line-height:1.3}\n.landing-v010 .v010-footer{width:min(100%,900px);margin:25px auto 0;text-align:center;display:block}.landing-v010 .v010-footer em{font-family:Georgia,serif;color:#a66f14;font-size:clamp(20px,2.5vw,29px);line-height:1.25}\n.landing-v010 .landing-admin{right:18px;top:18px;width:48px;height:48px}\n@media(min-width:1100px){.landing-v010 .event-shell{padding-top:0}.landing-v010 .event-hero{padding-left:70px;padding-right:70px}}\n@media(max-width:620px){body.landing-v010:before{opacity:.29;background-position:center top}.landing-v010 .event-shell{padding-left:10px;padding-right:10px}.landing-v010 .event-hero{margin-left:-10px;margin-right:-10px;padding:15px 16px 24px;border-radius:0 0 28px 28px}.landing-v010 .jubilee-logo{width:min(270px,72vw);max-height:220px}.landing-v010 .event-hero h1{font-size:27px;margin-bottom:15px}.landing-v010 .event-meta{gap:7px 12px;font-size:13px}.landing-v010 .v009-panel{padding-top:18px}.landing-v010 .invite-main{min-height:205px;padding:22px 16px;border-radius:24px}.landing-v010 .invite-main strong{font-size:36px}.landing-v010 .invite-main>span:last-child{font-size:17px}.landing-v010 .v010-info{grid-template-columns:1fr}.v010-info-item{padding:14px 16px}.v010-info-item+ .v010-info-item{border-left:0;border-top:1px solid rgba(201,145,46,.28)}.landing-v010 .landing-admin{right:9px;top:9px;width:42px;height:42px}.landing-v010 .v010-footer{margin-top:20px;padding:0 10px}.landing-v010 .v010-footer em{font-size:19px}}\n
/* V011 VIP layout correction */
body.landing-v010:before{opacity:.62;background:linear-gradient(90deg,rgba(255,247,231,.20),rgba(255,250,241,.48) 43%,rgba(245,249,251,.20)),url("zaproszenie.png") center/cover no-repeat}
.landing-v010 .event-shell{width:min(100%,1280px)}
.landing-v010 .event-hero{max-width:1040px;margin:0 auto;border-radius:0 0 34px 34px;padding:16px 42px 25px}
.landing-v010 .jubilee-logo{width:min(330px,55vw);max-height:250px}
.landing-v010 .event-hero h1{font-size:clamp(31px,3.5vw,45px);margin-bottom:16px}
.landing-v010 .event-meta{font-size:15px}
.landing-v010 .v009-panel{padding-top:22px}
.landing-v010 .invite-main{width:min(100%,760px);min-height:190px;padding:22px 30px}
.landing-v010 .invite-main strong{font-family:Arial,sans-serif;font-size:clamp(36px,5vw,50px)}
.landing-v010 .v010-info{width:min(100%,760px);background:linear-gradient(135deg,#0a3569,#082a55);color:#fff;border-color:#c99a42}
.landing-v010 .v010-info-item small{color:#e7bd69}.landing-v010 .v010-info-item b{font-size:15px}.landing-v010 .v010-footer em{font-size:clamp(23px,2.4vw,31px);color:#a86c10}
.landing-v010 .landing-admin{position:fixed;right:22px;top:84px;z-index:50}
@media(max-width:620px){.landing-v010 .event-hero{padding-top:12px}.landing-v010 .jubilee-logo{width:min(250px,67vw)}.landing-v010 .invite-main{min-height:175px}.landing-v010 .landing-admin{top:76px;right:10px}}

/* ===== V012 — FULL VIP REDESIGN ===== */
body.landing-v012{margin:0;min-height:100vh;background:#071b32;color:#fff;overflow-x:hidden}
body.landing-v012:before{content:"";position:fixed;inset:0;z-index:-3;background:url("zaproszenie.png") center/cover no-repeat;opacity:1}
body.landing-v012:after{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(29,18,9,.28) 0%,rgba(3,22,43,.80) 37%,rgba(3,22,43,.88) 50%,rgba(3,22,43,.80) 63%,rgba(5,25,46,.20) 100%)}
.v012-stage{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:22px 24px 112px;box-sizing:border-box}
.v012-center{width:min(760px,58vw);display:flex;flex-direction:column;align-items:center;text-align:center;margin:auto 0 0}
.v012-logo{width:min(340px,29vw);height:285px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.42));margin:-8px auto -18px}
.v012-center h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4vw,62px);line-height:1.02;margin:8px 0 22px;text-shadow:0 3px 18px rgba(0,0,0,.55);letter-spacing:-.02em;color:#fffaf0}
.v012-meta{width:100%;display:grid;grid-template-columns:1fr .7fr 1.45fr;border-top:1px solid rgba(224,174,74,.62);border-bottom:1px solid rgba(224,174,74,.62);margin:0 0 24px;padding:14px 0}
.v012-meta>div{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 18px;box-sizing:border-box}
.v012-meta>div+div{border-left:1px solid rgba(224,174,74,.42)}
.v012-meta i{font-style:normal;color:#e7b34b;font-size:25px;line-height:1;margin-bottom:7px}.v012-meta strong{font-family:Georgia,serif;font-size:17px;line-height:1.2}.v012-meta small{color:#e7b34b;font-weight:800;letter-spacing:.12em;font-size:10px;margin-top:5px}.v012-meta span{font-size:11px;color:#f3e9d5;margin-top:5px;line-height:1.25}
.v012-invite{position:relative;width:min(100%,720px);min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:radial-gradient(circle at 50% 0%,#0b427a 0,#062b57 45%,#031a38 100%);border:2px solid #d7a13a;border-radius:28px;box-shadow:0 18px 45px rgba(0,0,0,.40),inset 0 0 0 1px rgba(255,255,255,.08),0 0 28px rgba(214,159,53,.13);padding:30px 28px 24px;box-sizing:border-box;transition:transform .15s ease,box-shadow .15s ease}
.v012-invite:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(0,0,0,.46),0 0 34px rgba(214,159,53,.18)}
.v012-person{position:absolute;top:-29px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#062a55;border:2px solid #d7a13a;color:#e9b94f;font-size:28px;box-shadow:0 8px 18px rgba(0,0,0,.3)}
.v012-invite strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.7vw,64px);letter-spacing:.055em;line-height:1;margin-top:11px}.v012-invite em{font-family:Georgia,serif;font-size:19px;line-height:1.35;color:#efc568;font-style:normal;margin-top:15px}
.v012-era{position:fixed;top:19%;z-index:2;padding:11px 28px;background:linear-gradient(#092f5c,#031a36);border:1px solid #d9a340;border-radius:4px;color:#f2cb78;font-family:Georgia,serif;font-size:22px;box-shadow:0 8px 20px rgba(0,0,0,.22)}.v012-old{left:8.5%}.v012-now{right:8.5%}
.v012-admin{position:fixed;right:28px;top:24px;z-index:20;display:flex;align-items:center;gap:10px;text-decoration:none;color:#f0c56d;background:rgba(2,21,44,.88);border:1px solid rgba(219,166,61,.68);border-radius:28px;padding:7px 15px 7px 8px;box-shadow:0 8px 22px rgba(0,0,0,.22)}.v012-admin span{width:34px;height:34px;border:1px solid #d8a23c;border-radius:50%;display:grid;place-items:center}.v012-admin b{font-size:13px;font-weight:700}
.v012-slogan{position:absolute;left:0;right:0;bottom:0;min-height:92px;display:flex;align-items:center;justify-content:center;gap:24px;background:linear-gradient(180deg,rgba(3,22,44,.82),#031a36);border-top:1px solid #d5a044;color:#e6b44f;padding:0 28px}.v012-slogan span{width:min(180px,12vw);height:1px;background:#d5a044}.v012-slogan em{font-family:Georgia,serif;font-size:clamp(23px,2.2vw,35px);white-space:nowrap}
@media(max-width:900px){body.landing-v012:after{background:linear-gradient(rgba(3,22,43,.68),rgba(3,22,43,.80))}.v012-stage{padding:16px 14px 96px}.v012-center{width:min(100%,690px);margin-top:34px}.v012-logo{width:min(300px,68vw);height:245px}.v012-era{top:18%;font-size:15px;padding:8px 15px}.v012-old{left:18px}.v012-now{right:18px}.v012-center h1{font-size:clamp(31px,7vw,46px);margin-top:2px}.v012-admin b{display:none}.v012-admin{right:12px;top:12px;padding:6px}.v012-meta{grid-template-columns:1fr 1fr}.v012-meta>div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid rgba(224,174,74,.42);padding-top:12px;margin-top:10px}.v012-invite{min-height:190px}.v012-invite strong{font-size:clamp(35px,9vw,52px)}.v012-slogan{min-height:78px}.v012-slogan span{display:none}.v012-slogan em{white-space:normal;text-align:center;font-size:20px}}
@media(max-width:520px){.v012-center{margin-top:58px}.v012-logo{height:205px;margin-bottom:-12px}.v012-era{top:145px;font-size:12px;padding:6px 10px}.v012-center h1{font-size:30px;margin-bottom:16px}.v012-meta{margin-bottom:20px;padding:10px 0}.v012-meta>div{min-height:62px;padding:0 8px}.v012-meta strong{font-size:14px}.v012-invite{min-height:170px;border-radius:22px;padding:25px 15px 18px}.v012-person{width:48px;height:48px;top:-24px;font-size:22px}.v012-invite strong{font-size:34px}.v012-invite em{font-size:16px;margin-top:11px}}

/* V013 admin-configurable event media */
body.landing-v012{background-image:var(--event-bg, url('zaproszenie.png'))!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}
.v013-partner-strip{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 14px;border-radius:14px;background:rgba(3,27,56,.82);border:1px solid rgba(212,164,62,.65);max-width:min(760px,88vw)}
.v013-partner-strip img{width:62px;height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.v013-partner-strip a{color:#f0c45c;font-weight:800;text-decoration:none;font-size:12px}
@media(max-width:700px){.v013-partner-strip{position:relative;left:auto;bottom:auto;transform:none;margin:12px auto 70px;flex-wrap:wrap}.v013-partner-strip img{width:52px;height:30px}}


/* ===== V014 — miniaturowe logotypy partnerów na każdej stronie ===== */
body{padding-bottom:82px!important}
body.landing-v012{padding-bottom:0!important}
.partner-ticker{position:fixed;left:0;right:0;bottom:0;z-index:9999;height:70px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,20,42,.97),rgba(3,31,62,.99));border-top:1px solid rgba(220,170,67,.75);box-shadow:0 -8px 24px rgba(0,0,0,.20);overflow:hidden}
.partner-ticker-label{height:100%;min-width:126px;padding:0 20px;display:flex;align-items:center;justify-content:center;color:#efc568;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.14em;border-right:1px solid rgba(220,170,67,.34);background:rgba(1,16,34,.55)}
.partner-ticker-window{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.partner-ticker-track{width:max-content;display:flex;align-items:center;gap:34px;padding:8px 34px;animation:partnerTicker 30s linear infinite}
.partner-ticker:hover .partner-ticker-track{animation-play-state:paused}
.partner-ticker-logo{width:112px;height:48px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;text-decoration:none}
.partner-ticker-logo img{display:block;max-width:108px;max-height:42px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.22))}
@keyframes partnerTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.landing-v012 .v012-slogan{bottom:70px}
.landing-v012 .v012-stage{padding-bottom:182px}
@media(max-width:700px){body{padding-bottom:62px!important}.partner-ticker{height:58px}.partner-ticker-label{min-width:86px;padding:0 10px;font-size:9px}.partner-ticker-track{gap:22px;padding:6px 22px;animation-duration:24s}.partner-ticker-logo{width:82px;height:42px}.partner-ticker-logo img{max-width:78px;max-height:34px}.landing-v012 .v012-slogan{bottom:58px}.landing-v012 .v012-stage{padding-bottom:150px}}
@media(prefers-reduced-motion:reduce){.partner-ticker-track{animation:none}}

/* ===== V015 FIX — dynamiczne tlo + dyskretny ticker partnerow ===== */
/* V012 rysowal stare zaproszenie w ::before, przez co nowe tlo z panelu bylo zasloniete. */
body.landing-v012:before{background-image:var(--event-bg, url('zaproszenie.png'))!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;opacity:1!important}
body.landing-v012{background-image:none!important}

/* Pasek ma byc naprawde maly: miniaturki, bez wielkiego panelu. */
body{padding-bottom:42px!important}
.partner-ticker{height:42px;background:rgba(3,25,51,.94);border-top:1px solid rgba(220,170,67,.58);box-shadow:0 -3px 12px rgba(0,0,0,.16)}
.partner-ticker-label{min-width:76px;padding:0 10px;font-size:8px;letter-spacing:.10em}
.partner-ticker-window{height:100%}
.partner-ticker-track{height:100%;gap:24px;padding:4px 24px;animation:partnerTickerLTR 34s linear infinite;will-change:transform}
.partner-ticker-logo{width:64px;height:32px}
.partner-ticker-logo img{max-width:60px!important;max-height:27px!important;width:auto!important;height:auto!important;object-fit:contain!important}
@keyframes partnerTickerLTR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.landing-v012 .v012-slogan{bottom:42px}
@media(max-width:700px){body{padding-bottom:36px!important}.partner-ticker{height:36px}.partner-ticker-label{min-width:62px;padding:0 7px;font-size:7px}.partner-ticker-track{gap:18px;padding:3px 18px;animation-duration:28s}.partner-ticker-logo{width:52px;height:28px}.partner-ticker-logo img{max-width:48px!important;max-height:23px!important}.landing-v012 .v012-slogan{bottom:36px}.landing-v012 .v012-stage{padding-bottom:128px}}

/* ===== V016 — FAST NAVY EVENT THEME / configurable header ===== */
/* Brak ciężkich zdjęć tła: każda zakładka korzysta z lekkiego granatowego stylu. */
body.landing-v016,
body.app-v016{
  background:radial-gradient(circle at 50% -15%,#0d3b70 0,#061f3d 35%,#03172d 72%,#021326 100%) !important;
  background-attachment:fixed !important;
  color:#f8f2e7;
}
body.landing-v016:before,body.landing-v016:after,body.app-v016:before{display:none!important;content:none!important}
body.landing-v016 .v012-stage{background:transparent;min-height:calc(100vh - 42px)}
body.landing-v016 .v012-center{margin:auto 0;}
body.landing-v016 .v012-era{display:none!important}
body.landing-v016 .v012-logo{height:220px;width:min(310px,34vw);margin:0 auto -12px}
body.landing-v016 .v012-center h1{font-size:clamp(38px,4vw,58px);max-width:760px}
body.landing-v016 .v012-meta{max-width:760px}
body.landing-v016 .v012-invite{max-width:700px}
body.landing-v016 .v012-slogan{background:rgba(2,17,35,.88)}

/* Wspólny nagłówek na zakładkach */
.event-global-header{width:100%;display:flex;align-items:center;justify-content:center;gap:24px;padding:14px 24px 12px;background:linear-gradient(180deg,rgba(3,28,57,.98),rgba(2,20,41,.98));border-bottom:1px solid rgba(217,163,64,.72);box-shadow:0 8px 24px rgba(0,0,0,.2);color:#fff;position:relative;z-index:20}
.event-global-brand{display:block;flex:0 0 auto}.event-global-brand img{display:block;width:92px;height:82px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.25))}
.event-global-copy{text-align:left;min-width:0}.event-global-title{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:700;line-height:1.05;color:#fffaf0}.event-global-meta{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:7px;color:#e9c36e;font-size:11px;font-weight:700}.event-global-section{display:inline-block;margin-top:7px;padding:3px 9px;border:1px solid rgba(217,163,64,.55);border-radius:999px;color:#f1cb78;font-size:9px;font-weight:900;letter-spacing:.14em}

body.app-v016 .wrap{max-width:1000px;padding:20px 16px 70px}
body.app-v016 .card,body.app-v016 .stat{background:linear-gradient(145deg,rgba(8,49,93,.96),rgba(3,27,56,.98));color:#f8f3e8;border:1px solid rgba(211,159,58,.42);box-shadow:0 12px 30px rgba(0,0,0,.18)}
body.app-v016 h1,body.app-v016 h2,body.app-v016 h3,body.app-v016 .big{color:#fffaf0}
body.app-v016 .muted,body.app-v016 small{color:#c6d4e5}
body.app-v016 input,body.app-v016 select{background:#fff;color:#10233e}
body.app-v016 table{color:#eef4fb}body.app-v016 th,body.app-v016 td{border-bottom-color:rgba(255,255,255,.12)}
body.app-v016 .person{border-bottom-color:rgba(255,255,255,.12)}
body.app-v016 a:not(.btn):not(.partner-ticker-label):not(.partner-ticker-logo):not(.event-global-brand){color:#efc568}
.v016-back{display:inline-block;margin:0 0 10px;text-decoration:none;font-weight:800}
.v016-logo-preview{display:flex;align-items:center;justify-content:center;min-height:120px;margin:4px 0 14px;border:1px dashed rgba(226,182,93,.5);border-radius:14px;background:rgba(1,16,34,.35)}.v016-logo-preview img{max-width:220px;max-height:120px;object-fit:contain}
.preview{max-width:100%;max-height:330px;border-radius:14px;display:block;margin:10px auto}.logos{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.logoitem{padding:10px;border:1px solid rgba(226,182,93,.35);border-radius:12px;background:rgba(0,0,0,.16)}.logoitem img{display:block;width:90px;height:55px;object-fit:contain;background:#fff;border-radius:6px;padding:4px;margin-bottom:6px}.v016-check{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.v016-check input{width:auto;margin:0}

/* Ticker pozostaje mały i szybki. */
.partner-ticker{height:38px}.partner-ticker-label{min-width:68px;font-size:7px}.partner-ticker-logo{width:56px;height:29px}.partner-ticker-logo img{max-width:52px!important;max-height:24px!important}.partner-ticker-track{gap:20px;padding:3px 20px;animation-duration:30s}.landing-v016 .v012-slogan{bottom:38px}.landing-v016 .v012-stage{padding-bottom:126px}
@media(max-width:700px){.event-global-header{gap:12px;padding:9px 12px}.event-global-brand img{width:64px;height:58px}.event-global-title{font-size:17px}.event-global-meta{font-size:9px;gap:4px 10px}.event-global-section{font-size:8px;margin-top:4px}.landing-v016 .v012-logo{width:min(250px,65vw);height:190px}.partner-ticker{height:34px}.partner-ticker-logo{width:48px;height:26px}.partner-ticker-logo img{max-width:44px!important;max-height:21px!important}.landing-v016 .v012-slogan{bottom:34px}.landing-v016 .v012-stage{padding-bottom:112px}}


/* V018 — plan sali bezpośrednio w widoku uczestnika */
.plan-inline-card{
  overflow:hidden;
}
.plan-inline-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.plan-inline-head h2{
  margin:2px 0 6px;
}
.plan-kicker{
  color:#d9a62e;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}
.plan-help{
  margin:0;
  opacity:.86;
}
.plan-open-btn{
  white-space:nowrap;
}
.plan-preview-link{
  display:block;
  padding:10px;
  border:1px solid rgba(217,166,46,.55);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.plan-inline-img{
  display:block;
  width:100%;
  max-height:460px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
}
@media (max-width:700px){
  .plan-inline-head{
    display:block;
  }
  .plan-open-btn{
    display:inline-block;
    margin-top:12px;
  }
  .plan-inline-img{
    max-height:320px;
  }
}


/* V019 — usunięcie górnego paska PLAN SALI z widoku uczestnika */
.plan-top-bar,
.plan-header-bar,
.top-plan-bar,
a.plan-top-bar,
a.plan-header-bar,
a.top-plan-bar {
  display:none !important;
}


/* V020 — czytelne przyciski POWRÓT */
.v020-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 16px;
  margin:2px 0 12px;
  border:1px solid rgba(218,166,61,.78);
  border-radius:12px;
  color:#f0c15f !important;
  background:#061f3d;
  font-weight:900;
  text-decoration:none;
  letter-spacing:.02em;
}
.v020-back:hover{background:#0a3260}

/* V020 — ciężkie elementy multimedialne nie blokują układu */
.partner-ticker-logo img,
.event-global-brand img,
.plan-inline-img{
  content-visibility:auto;
}


/* V021 — karta uczestnika: QR + plan sali obok siebie, bez osobnego przycisku */
.participant-main-card{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(340px,1.1fr);gap:26px;align-items:start}
.participant-info-col,.participant-plan-col{min-width:0}
.participant-plan-col{border-left:1px solid rgba(217,166,46,.35);padding-left:24px}
.participant-plan-title{font-size:17px;font-weight:900;color:#fffaf0;margin:4px 0 12px}
.media-zoom-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(217,166,46,.5);background:rgba(1,18,38,.34);border-radius:14px;padding:10px;color:#efc568;cursor:pointer;text-align:center}
.media-zoom-trigger:hover{background:rgba(9,54,100,.56)}
.media-zoom-trigger span{font-size:10px;font-weight:800;letter-spacing:.03em}
.qr-trigger{width:max-content;max-width:100%}
.qr-trigger #qr{background:#fff;padding:4px;line-height:0}
.participant-plan-img{display:block;width:100%;height:310px;object-fit:contain;background:#fff;border-radius:10px}
.plan-trigger{width:100%}
.media-modal{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,10,24,.94);padding:28px;align-items:center;justify-content:center}
.media-modal.is-open{display:flex}
body.modal-open{overflow:hidden}
.media-modal-inner{width:min(1180px,94vw);height:min(88vh,900px);display:flex;align-items:center;justify-content:center}
.media-modal-inner img{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:12px}
.media-modal-inner #qrBig{background:#fff;padding:18px;border-radius:14px;line-height:0}
.media-modal-close{position:absolute;top:18px;right:22px;width:50px;height:50px;border-radius:50%;border:1px solid #d9a63d;background:#061f3d;color:#fff;font-size:34px;line-height:1;cursor:pointer}
@media(max-width:760px){.participant-main-card{grid-template-columns:1fr;gap:18px}.participant-plan-col{border-left:0;border-top:1px solid rgba(217,166,46,.35);padding:18px 0 0}.participant-plan-img{height:auto;max-height:340px}.media-modal{padding:14px}.media-modal-inner{width:96vw;height:82vh}.media-modal-inner #qrBig{transform:scale(.82)}}


/* V022 — PARTNERZY PRO */
.partner-logo-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.partner-logo-tile img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;filter:none!important}

/* Główna: dokładnie między ZAPRASZAMY a sloganem */
.landing-v016 .partner-ticker-inline{position:absolute!important;left:0!important;right:0!important;bottom:82px!important;z-index:20!important;height:82px!important;padding:0 54px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
.landing-v016 .partner-ticker-inline .partner-ticker-label{display:none!important}
.landing-v016 .partner-ticker-inline .partner-ticker-window{width:100%;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.landing-v016 .partner-ticker-inline .partner-ticker-track{height:100%!important;display:flex!important;align-items:center!important;gap:14px!important;padding:6px 14px!important;animation:partnerTickerLTR 40s linear infinite!important;will-change:transform}
.landing-v016 .partner-ticker-inline .partner-ticker-logo{width:124px!important;height:66px!important;flex:0 0 124px!important;padding:0!important}
.landing-v016 .partner-ticker-inline .partner-logo-tile{width:124px!important;height:66px!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:9px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 4px 12px rgba(0,0,0,.12)!important}
.landing-v016 .partner-ticker-inline .partner-logo-tile img{width:104px!important;height:48px!important;object-fit:contain!important}
.landing-v016 .v012-slogan{bottom:14px!important}
.landing-v016 .v012-stage{padding-bottom:168px!important}

/* Pozostałe zakładki: mały pasek na samym dole */
.partner-ticker-fixed .partner-logo-tile{width:56px!important;height:29px!important;padding:3px 5px!important;border-radius:5px!important;background:rgba(255,255,255,.94)!important}
.partner-ticker-fixed .partner-logo-tile img{width:46px!important;height:23px!important;object-fit:contain!important}

@media(max-width:700px){
 .landing-v016 .partner-ticker-inline{bottom:70px!important;height:62px!important;padding:0 10px!important}
 .landing-v016 .partner-ticker-inline .partner-ticker-track{gap:10px!important;padding:4px 10px!important;animation-duration:30s!important}
 .landing-v016 .partner-ticker-inline .partner-ticker-logo{width:92px!important;height:50px!important;flex-basis:92px!important}
 .landing-v016 .partner-ticker-inline .partner-logo-tile{width:92px!important;height:50px!important;padding:6px 8px!important}
 .landing-v016 .partner-ticker-inline .partner-logo-tile img{width:76px!important;height:38px!important}
 .landing-v016 .v012-slogan{bottom:12px!important;font-size:18px!important}
 .landing-v016 .v012-stage{padding-bottom:138px!important}
}

/* V023 — biały pasek partnerów na wszystkich podstronach */
.partner-ticker-fixed{
  background:#fff!important;
  border-top:1px solid rgba(217,166,46,.75)!important;
  box-shadow:0 -3px 12px rgba(0,0,0,.10)!important;
}
.partner-ticker-fixed .partner-ticker-label{
  background:#fff!important;
  color:#9a6a08!important;
  border-right:1px solid rgba(217,166,46,.35)!important;
}
.partner-ticker-fixed .partner-ticker-window{
  background:#fff!important;
}
.partner-ticker-fixed .partner-logo-tile{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}

/* ===== V024 — Partnerzy: białe, kompaktowe kafelki (-20%) ===== */
/* Obsługa widoku partnerzy.php oraz panelu materiałów bez zmiany logiki aplikacji. */
body.app-v016 .partner-card,
body.app-v016 .partner-tile,
body.app-v016 .partner-item,
body.app-v016 .partners-grid > *,
body.app-v016 .partner-grid > *,
body.app-v016 .partners-list > *,
body.app-v016 .logos .logoitem{
  background:#fff!important;
  color:#061f3d!important;
  border:1px solid rgba(217,166,46,.48)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.10)!important;
}
body.app-v016 .partner-card img,
body.app-v016 .partner-tile img,
body.app-v016 .partner-item img,
body.app-v016 .partners-grid > * img,
body.app-v016 .partner-grid > * img,
body.app-v016 .partners-list > * img,
body.app-v016 .logos .logoitem img{
  background:#fff!important;
  object-fit:contain!important;
  filter:none!important;
}
body.app-v016 .partners-grid,
body.app-v016 .partner-grid,
body.app-v016 .partners-list{
  gap:12px!important;
}
body.app-v016 .partner-card,
body.app-v016 .partner-tile,
body.app-v016 .partner-item{
  transform:scale(.80);
  transform-origin:top left;
}
body.app-v016 .logos .logoitem{padding:8px!important;border-radius:10px!important}
body.app-v016 .logos .logoitem img{width:72px!important;height:44px!important;margin-bottom:5px!important}
@media(max-width:700px){
 body.app-v016 .partner-card,body.app-v016 .partner-tile,body.app-v016 .partner-item{transform:none}
}

/* ===== V025 — Partnerzy: białe kafelki + złoty nagłówek ===== */
/* partnerzy.php używa klasy .logos/.logoitem — bez zależności od klasy body */
.logos{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(124px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-top:18px!important;
}
.logos::before{
  content:"Partnerzy Jubileuszu";
  grid-column:1/-1;
  display:block;
  width:100%;
  margin:0 0 12px;
  padding:4px 0 15px;
  text-align:center;
  color:#d9a63d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,3vw,38px);
  font-style:italic;
  font-weight:500;
  letter-spacing:.02em;
  border-bottom:1px solid rgba(217,166,61,.42);
  text-shadow:0 2px 10px rgba(217,166,61,.14);
}
.logos .logoitem{
  min-width:0!important;
  min-height:154px!important;
  padding:12px 10px!important;
  border:1px solid rgba(217,166,46,.48)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#061f3d!important;
  box-shadow:0 7px 18px rgba(0,0,0,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.logos .logoitem img{
  display:block!important;
  width:108px!important;
  height:76px!important;
  max-width:100%!important;
  object-fit:contain!important;
  background:#fff!important;
  border:0!important;
  border-radius:8px!important;
  padding:4px!important;
  margin:0 auto 9px!important;
  filter:none!important;
}
.logos .logoitem b,
.logos .logoitem strong,
.logos .logoitem span,
.logos .logoitem div,
.logos .logoitem p{
  color:#061f3d!important;
}
@media(max-width:700px){
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .logos::before{font-size:27px;margin-bottom:8px;padding-bottom:12px}
  .logos .logoitem{min-height:138px!important;padding:10px 8px!important}
  .logos .logoitem img{width:96px!important;height:66px!important}
}


/* ===== V026 — REAL FIX: rzeczywiste klasy partnerzy.php ===== */
.partnerzy-wrap{
  padding-bottom:88px!important;
}
.partnerzy-section{
  margin-top:18px;
}
.partnerzy-heading{
  display:grid;
  grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);
  align-items:center;
  gap:18px;
  margin:8px 0 24px;
}
.partnerzy-heading span{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,166,61,.85));
}
.partnerzy-heading span:last-child{
  background:linear-gradient(90deg,rgba(217,166,61,.85),transparent);
}
.partnerzy-heading h1{
  margin:0;
  color:#d9a63d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,3.1vw,43px);
  font-style:italic;
  font-weight:500;
  line-height:1.05;
  letter-spacing:.01em;
  text-align:center;
  text-shadow:0 2px 10px rgba(217,166,61,.14);
}

.partnerzy-page .partnerzy-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;
  gap:13px!important;
  align-items:stretch!important;
}
.partnerzy-page .partnerzy-card{
  min-width:0!important;
  min-height:150px!important;
  padding:10px 9px 11px!important;
  border:1px solid rgba(217,166,46,.45)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#061f3d!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
.partnerzy-page .partnerzy-logo-box{
  width:112px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px;
  margin:0 auto 7px;
  box-sizing:border-box;
  background:#fff;
}
.partnerzy-page .partnerzy-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  filter:none!important;
}
.partnerzy-page .partnerzy-card h3{
  margin:2px 0 0!important;
  color:#061f3d!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:800!important;
}

@media (min-width:1200px){
  .partnerzy-page .partnerzy-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  .partnerzy-heading{
    gap:10px;
    margin-bottom:17px;
  }
  .partnerzy-heading h1{
    font-size:28px;
  }
  .partnerzy-page .partnerzy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .partnerzy-page .partnerzy-card{
    min-height:132px!important;
    padding:8px!important;
  }
  .partnerzy-page .partnerzy-logo-box{
    width:96px;
    height:68px;
  }
}


/* V027 — jeden standard przycisku POWRÓT w całej aplikacji */
.v027-back,
a.v027-back,
.v020-back.v027-back{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:8px 15px!important;
  margin:10px 0 16px!important;
  border:1px solid #d9a63d!important;
  border-radius:11px!important;
  background:#06284c!important;
  color:#f4bf4f!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  box-shadow:none!important;
  width:auto!important;
}
.v027-back:hover{
  background:#0a3767!important;
  color:#ffd678!important;
  border-color:#efbd54!important;
}
.v027-back:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:2px!important;
}
@media(max-width:700px){
  .v027-back,
  a.v027-back{
    min-height:44px!important;
    padding:10px 14px!important;
    margin:8px 0 14px!important;
    font-size:14px!important;
  }
}


/* V030 — finalna ochrona zaakceptowanego wyglądu paska partnerów */
.landing-v016 .partner-ticker-inline{
  background:#fff !important;
  border-top:1px solid rgba(217,166,61,.45) !important;
  border-bottom:1px solid rgba(217,166,61,.45) !important;
}
.landing-v016 .partner-ticker-inline .partner-ticker-window,
.landing-v016 .partner-ticker-inline .partner-ticker-track{
  background:#fff !important;
}
.landing-v016 .partner-ticker-inline .partner-ticker-label{
  display:none !important;
}
.landing-v016 .partner-ticker-inline .partner-logo-tile{
  background:#fff !important;
}
.partner-ticker-fixed,
.partner-ticker-fixed .partner-ticker-window,
.partner-ticker-fixed .partner-ticker-track{
  background:#fff !important;
}
.partner-ticker-fixed .partner-ticker-label{
  background:#fff !important;
  color:#9a6b12 !important;
  border-right:1px solid rgba(217,166,61,.4) !important;
}


/* V031 — identyczne kafelki partnerów na wszystkich zakładkach */
.partner-ticker-inline .partner-ticker-track,
.partner-ticker-fixed .partner-ticker-track{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

/* Każde logo = osobny prostokątny kafelek identycznego rozmiaru */
.partner-ticker-inline .partner-ticker-logo,
.partner-ticker-fixed .partner-ticker-logo{
  flex:0 0 auto !important;
  width:100px !important;
  height:54px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  text-decoration:none !important;
}

.partner-ticker-inline .partner-logo-tile,
.partner-ticker-fixed .partner-logo-tile{
  width:100px !important;
  height:54px !important;
  padding:7px 9px !important;
  box-sizing:border-box !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.36) !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 3px 10px rgba(0,0,0,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.partner-ticker-inline .partner-logo-tile img,
.partner-ticker-fixed .partner-logo-tile img{
  display:block !important;
  width:82px !important;
  height:38px !important;
  max-width:82px !important;
  max-height:38px !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:none !important;
}

/* Pasek na głównej: niełączony wizualnie, tylko pojedyncze kafelki */
.landing-v016 .partner-ticker-inline{
  background:transparent !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.landing-v016 .partner-ticker-inline .partner-ticker-window,
.landing-v016 .partner-ticker-inline .partner-ticker-track{
  background:transparent !important;
}

/* Inne zakładki: tak samo — bez pełnej białej belki */
.partner-ticker-fixed{
  background:transparent !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.partner-ticker-fixed .partner-ticker-window,
.partner-ticker-fixed .partner-ticker-track{
  background:transparent !important;
}
.partner-ticker-fixed .partner-ticker-label{
  background:rgba(255,255,255,.88) !important;
  color:#9a6b12 !important;
  border:1px solid rgba(217,166,61,.45) !important;
  border-radius:8px !important;
  margin-right:10px !important;
  height:34px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
}

/* 20% mniejsze niż poprzedni główny wariant */
@media (max-width:700px){
  .partner-ticker-inline .partner-ticker-logo,
  .partner-ticker-fixed .partner-ticker-logo{
    width:84px !important;
    height:46px !important;
  }
  .partner-ticker-inline .partner-logo-tile,
  .partner-ticker-fixed .partner-logo-tile{
    width:84px !important;
    height:46px !important;
    padding:6px 7px !important;
    border-radius:9px !important;
  }
  .partner-ticker-inline .partner-logo-tile img,
  .partner-ticker-fixed .partner-logo-tile img{
    width:68px !important;
    height:32px !important;
    max-width:68px !important;
    max-height:32px !important;
  }
  .partner-ticker-inline .partner-ticker-track,
  .partner-ticker-fixed .partner-ticker-track{
    gap:9px !important;
  }
}


/* =========================================================
   V032 — przywitanie, wyniki i menu uczestnika
   ========================================================= */
.participant-wrap{padding-bottom:90px!important}

.participant-welcome{
  max-width:850px;
  margin:8px auto 24px;
  padding:0 18px;
  text-align:center;
}
.participant-welcome-kicker,
.participant-found-kicker,
.participant-section-kicker{
  color:#d9a63d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.participant-welcome h1{
  margin:7px 0 10px;
  color:#fffaf0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
}
.participant-welcome p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.55;
}
.participant-search-card h2{
  margin-top:0;
  font-size:26px;
}
.participant-found{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(217,166,61,.28);
}
.participant-found h3{
  margin:5px 0 3px;
  font-size:24px;
}
.participant-found>p{
  margin:0 0 15px;
  opacity:.75;
}
.participant-results{
  display:grid;
  gap:10px;
}
.participant-result-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:13px 14px;
  border:1px solid rgba(217,166,61,.35);
  border-radius:13px;
  background:rgba(255,255,255,.035);
}
.participant-result-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.participant-result-copy b{font-size:18px}
.participant-result-copy small{opacity:.72}
.participant-confirm-btn{
  min-width:160px!important;
  margin:0!important;
  text-align:center;
}

/* menu uczestnika */
.participant-panel-shell{
  max-width:1050px;
  margin:0 auto;
}
.participant-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:0 0 14px;
  padding:7px;
  border:1px solid rgba(217,166,61,.42);
  border-radius:15px;
  background:rgba(1,26,51,.70);
}
.participant-tab{
  min-height:54px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:rgba(255,255,255,.74);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  transition:.16s ease;
}
.participant-tab-icon{margin-right:5px}
.participant-tab:hover{
  background:rgba(255,255,255,.055);
  color:#fff;
}
.participant-tab.is-active{
  background:linear-gradient(135deg,#b97814,#e0ad42);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}

.participant-tab-panel{
  display:none;
  padding:24px;
  border:1px solid rgba(217,166,61,.42);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(9,55,99,.84),rgba(5,40,75,.84));
}
.participant-tab-panel.is-active{display:block}

.participant-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.participant-section-head h2{
  margin:4px 0 0;
  font-size:29px;
}
.participant-section-head p{
  margin:5px 0 0;
  opacity:.78;
}

.participant-table-badge{
  min-width:92px;
  padding:8px 13px;
  border:1px solid rgba(217,166,61,.62);
  border-radius:12px;
  text-align:center;
  background:rgba(1,18,38,.35);
}
.participant-table-badge span{
  display:block;
  color:#d9a63d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.participant-table-badge b{
  display:block;
  font-size:31px;
  line-height:1.05;
}

.participant-table-layout{
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:24px;
}
.participant-qr-box{
  padding-right:22px;
  border-right:1px solid rgba(217,166,61,.25);
}
.participant-qr-box h3{
  margin:0 0 7px;
  font-size:21px;
}
.participant-qr-box p{margin:0 0 10px}

.participant-table-people h3{
  margin:0 0 9px;
  font-size:22px;
}
.table-mates{
  border-top:1px solid rgba(255,255,255,.12);
}
.table-mate-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:43px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.table-mate-row em{
  padding:3px 8px;
  border-radius:999px;
  background:#eaf4ff;
  color:#0a3157;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}

.participant-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.participant-data-grid>div{
  min-height:76px;
  padding:13px 15px;
  box-sizing:border-box;
  border:1px solid rgba(217,166,61,.28);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.participant-data-grid span{
  display:block;
  margin-bottom:5px;
  color:#d9a63d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}
.participant-data-grid b{font-size:17px}

.participant-subcard{
  margin-top:14px;
  padding:14px 15px;
  border:1px solid rgba(217,166,61,.28);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.participant-subcard p{margin:6px 0 2px}
.participant-subcard small{opacity:.72}

.participant-plan-large{
  width:100%;
  padding:11px;
  border:1px solid rgba(217,166,61,.5);
  border-radius:14px;
  background:rgba(1,18,38,.34);
  color:#efc568;
  cursor:pointer;
}
.participant-plan-large img{
  display:block;
  width:100%;
  max-height:560px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
}
.participant-plan-large span{
  display:block;
  margin-top:8px;
  font-size:11px;
  font-weight:900;
}
.participant-empty-state{
  padding:34px 20px;
  border:1px dashed rgba(217,166,61,.4);
  border-radius:13px;
  text-align:center;
  opacity:.76;
}

.agenda-list{
  display:grid;
  gap:10px;
}
.agenda-row{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:13px 15px;
  border:1px solid rgba(217,166,61,.27);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.agenda-row time{
  color:#e2ae46;
  font-size:18px;
  font-weight:900;
}
.agenda-row>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.agenda-row b{font-size:17px}
.agenda-row span{opacity:.72}
.agenda-row-placeholder{opacity:.72}

@media(max-width:760px){
  .participant-welcome{margin-top:0}
  .participant-welcome h1{font-size:28px}

  .participant-result-card{grid-template-columns:1fr}
  .participant-confirm-btn{width:100%!important}

  .participant-tabs{
    grid-template-columns:repeat(2,1fr);
    position:sticky;
    top:0;
    z-index:35;
  }
  .participant-tab{
    min-height:48px;
    font-size:11px;
  }

  .participant-tab-panel{padding:16px}
  .participant-section-head h2{font-size:25px}

  .participant-table-layout{grid-template-columns:1fr}
  .participant-qr-box{
    padding-right:0;
    padding-bottom:18px;
    border-right:0;
    border-bottom:1px solid rgba(217,166,61,.25);
  }

  .participant-data-grid{grid-template-columns:1fr}
  .agenda-row{
    grid-template-columns:62px minmax(0,1fr);
    gap:10px;
  }
}


/* V033 — czytelniejsze nagłówki menu uczestnika */
.participant-tab{font-size:16px!important;letter-spacing:.015em!important}
.participant-tab-icon{font-size:18px!important;margin-right:7px!important}
@media(max-width:760px){.participant-tab{font-size:14px!important}.participant-tab-icon{font-size:16px!important}}
.agenda-admin-ok{margin:12px 0;padding:11px 13px;border-radius:10px;background:rgba(31,139,76,.18);border:1px solid rgba(72,190,111,.45);color:#bff4cf}.agenda-admin-err{margin:12px 0;padding:11px 13px;border-radius:10px;background:rgba(180,45,55,.18);border:1px solid rgba(230,91,99,.45);color:#ffd0d3}

/* =========================================================
   V034 FIX — uporządkowany panel administratora, fail-safe
   Sekcje są widoczne domyślnie. JS chowa je dopiero po
   poprawnym uruchomieniu zakładek, więc awaria JS nie blokuje panelu.
   ========================================================= */
.admin-v034{max-width:1080px!important;padding-bottom:90px!important}
.admin-v034 .stats{margin-bottom:14px}

.admin-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  padding:7px;
  margin:0 0 14px;
  border:1px solid rgba(217,166,61,.42);
  border-radius:15px;
  background:rgba(1,26,51,.72);
}
.admin-tab{
  width:auto!important;
  min-width:0;
  min-height:58px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:rgba(255,255,255,.76)!important;
  font-size:13px;
  font-weight:900;
  text-decoration:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
  cursor:pointer;
  transition:.16s ease;
}
.admin-tab:hover{background:rgba(255,255,255,.055);color:#fff!important}
.admin-tab.is-active{background:linear-gradient(135deg,#b97814,#e0ad42);color:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,.16)}

/* Progressive enhancement: bez JS wszystko jest dostępne. */
.admin-tab-panel{
  display:block;
  margin:0 0 14px;
  padding:22px;
  border:1px solid rgba(217,166,61,.42);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(9,55,99,.80),rgba(5,40,75,.80));
  scroll-margin-top:90px;
}
.admin-v034.admin-tabs-ready .admin-tab-panel{display:none;margin-bottom:0}
.admin-v034.admin-tabs-ready .admin-tab-panel.is-active{display:block}

.admin-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.admin-section-head>div>span{color:#d9a63d;font-size:10px;font-weight:900;letter-spacing:.14em}
.admin-section-head h2{margin:4px 0 3px;font-size:28px}
.admin-section-head p{margin:0;opacity:.72}
.admin-head-btn{margin:0!important;white-space:nowrap}
.admin-inner-card{margin:0!important;background:rgba(0,0,0,.10)!important}

.admin-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-action-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-action-card{min-height:150px;padding:17px;box-sizing:border-box;border:1px solid rgba(217,166,61,.32);border-radius:14px;background:rgba(255,255,255,.035);color:#fff!important;text-decoration:none!important;display:flex;flex-direction:column;gap:8px}
.admin-action-card:hover{background:rgba(255,255,255,.07)}
.admin-action-card.gold-card{background:linear-gradient(145deg,rgba(185,120,20,.95),rgba(224,173,66,.92);color:#fff!important}
.admin-action-card strong{font-size:18px}
.admin-action-card small{line-height:1.45;opacity:.77}
.admin-action-card em{margin-top:auto;color:#f6c75f;font-size:11px;font-style:normal;font-weight:900;letter-spacing:.06em}
.admin-action-card.gold-card em{color:#fff}
.admin-action-form{margin:0!important}
.admin-action-form button{margin-top:auto!important;width:100%}
.admin-action-card form{margin-top:auto}
.admin-action-card form input{margin-bottom:8px}
.admin-action-card form button{width:100%}
.admin-status-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.admin-status-row:last-child{border-bottom:0}
.admin-status-row span{opacity:.68}
.admin-status-row b{text-align:right;overflow-wrap:anywhere}

@media(max-width:850px){
  .admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-tab:last-child{grid-column:1/-1}
  .admin-action-grid,.admin-action-grid.two{grid-template-columns:1fr}
  .admin-section-head{display:block}
  .admin-head-btn{display:inline-flex;margin-top:12px!important}
}
@media(max-width:520px){
  .admin-tabs{grid-template-columns:1fr 1fr;gap:6px}
  .admin-tab{font-size:11px;min-height:50px;padding:7px 6px}
  .admin-tab-panel{padding:15px}
  .admin-section-head h2{font-size:24px}
}


/* =========================================================
   V035 FIX — ręczna korekta obecności
   Dodatek do fail-safe menu V034 FIX.
   ========================================================= */
.presence-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.presence-form{margin:0}
.presence-toggle{border:1px solid rgba(218,165,50,.7);border-radius:9px;padding:7px 10px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.presence-in{background:rgba(35,145,82,.18);color:#bff0d0}
.presence-out{background:rgba(190,55,55,.16);color:#ffd0d0}
.presence-toggle:hover{filter:brightness(1.18)}
.admin-presence-flash{margin:0 0 12px;padding:11px 14px;border:1px solid rgba(218,165,50,.65);border-radius:12px;background:rgba(218,165,50,.12);font-weight:800}
@media(max-width:700px){.presence-cell{align-items:flex-start;flex-direction:column;gap:5px}.presence-toggle{padding:6px 8px}}


/* V038 PATCH — złoty tekst powitalny na stronie uczestnika */
.participant-search-card .participant-search-intro{
  margin-top:0;
  margin-bottom:18px;
  color:#e0ad42;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,2.5vw,32px);
  line-height:1.35;
  font-weight:700;
  text-align:left;
  text-wrap:balance;
}
@media(max-width:700px){
  .participant-search-card .participant-search-intro{font-size:22px;line-height:1.4;}
}
