/* KN 3.5 — natychmiastowy zapis obecności i bezpieczna sesja Platformy. */
.kn-platform-site.series-horyzonty { --attendance-button:#206d3e; }
.kn-platform-site.series-uniwersum { --attendance-button:#28568f; }
.kn-platform-site.series-eureka { --attendance-button:#c31536; }
.kn-platform-unlock { position:relative; overflow:hidden; }
.kn-platform-unlock::before { content:""; position:absolute; width:520px; height:520px; right:-240px; top:8%; border-radius:42% 58% 64% 36%; background:radial-gradient(circle at 40% 42%,rgba(var(--series-rgb),.13),transparent 62%); filter:blur(2px); pointer-events:none; }
.kn-platform-unlock > .section-wrap { display:block !important; }
.kn-attendance-layout { position:relative; display:grid; grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr); border:1px solid rgba(137,168,205,.22); border-top:3px solid var(--series-accent); border-radius:28px; overflow:hidden; background:#07152a; box-shadow:0 42px 110px rgba(0,0,0,.38),0 0 70px rgba(var(--series-rgb),.08); }
.kn-attendance-gate { position:relative; z-index:1; padding:clamp(34px,5.2vw,72px); background:linear-gradient(145deg,#0a1b35 0%,#061226 72%,#08182f 100%); }
.kn-attendance-gate::after { content:"KN"; position:absolute; right:4%; top:3%; color:rgba(255,255,255,.025); font:700 clamp(120px,16vw,240px)/1 "Space Grotesk",sans-serif; letter-spacing:-.1em; pointer-events:none; }
.kn-attendance-gate > * { position:relative; z-index:1; }
.kn-attendance-kicker { display:flex; align-items:center; gap:11px; margin-bottom:25px; color:#d5e2f1; font-size:11px; font-weight:760; letter-spacing:.12em; text-transform:uppercase; }
.kn-attendance-kicker i { width:8px; height:8px; border-radius:50%; background:var(--series-bright); box-shadow:0 0 0 7px rgba(var(--series-rgb),.12),0 0 22px var(--series-bright); }
.kn-attendance-kicker b { margin-left:auto; padding:7px 10px; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:var(--series-bright); font-size:10px; }
.kn-site .kn-attendance-gate h2 { max-width:780px; margin:0 0 18px !important; color:#f8fbff !important; font-size:clamp(35px,4.2vw,57px) !important; line-height:1.04 !important; letter-spacing:-.045em !important; }
.kn-site .kn-attendance-gate h2 em { color:var(--series-bright); font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; }
.kn-site .kn-attendance-gate > p { max-width:720px; margin:0 0 30px !important; color:#bdcada !important; font-size:17px !important; line-height:1.72 !important; }
.kn-attendance-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.kn-attendance-fields label { display:grid; gap:9px; margin:0; }
.kn-attendance-fields label.is-wide { grid-column:1/-1; }
.kn-attendance-fields label > span { color:#e6eef8; font-size:13px; font-weight:720; }
.kn-attendance-fields input { width:100%; min-height:58px; padding:0 17px; border:1px solid rgba(151,180,216,.32); border-radius:11px; outline:0; background:#020b1b; color:#fff; font:500 16px/1.3 "Inter",sans-serif; box-shadow:inset 0 1px rgba(255,255,255,.035); transition:border-color .22s,box-shadow .22s,background .22s; }
.kn-attendance-fields input::placeholder { color:#788aa2; opacity:1; }
.kn-attendance-fields input:hover { border-color:rgba(173,199,230,.52); background:#041126; }
.kn-attendance-fields input:focus { border-color:var(--series-bright); box-shadow:0 0 0 4px rgba(var(--series-rgb),.17),inset 0 1px rgba(255,255,255,.06); }
.kn-attendance-consent { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; margin:21px 0 23px; color:#b9c7d8; cursor:pointer; }
.kn-attendance-consent input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--series-accent); }
.kn-site .kn-attendance-consent span { color:#b9c7d8 !important; font-size:13px !important; line-height:1.55 !important; }
.kn-attendance-consent a { color:#f4f8ff; text-decoration:underline; text-decoration-color:var(--series-bright); text-underline-offset:3px; }
.kn-attendance-gate > .button { width:100%; min-height:60px; justify-content:center; border:1px solid rgba(255,255,255,.2); background:linear-gradient(112deg,var(--series-deep),var(--attendance-button,var(--series-accent))); box-shadow:0 18px 42px rgba(var(--series-rgb),.27),inset 0 1px rgba(255,255,255,.25); }
.kn-attendance-gate > .button:hover { transform:translateY(-2px); filter:saturate(1.12) brightness(1.06); box-shadow:0 24px 56px rgba(var(--series-rgb),.37),inset 0 1px rgba(255,255,255,.3); }
.kn-attendance-gate > .button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.kn-attendance-gate > small { display:block; margin-top:13px; color:#91a2b9; font-size:12px; text-align:center; }
.kn-form-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.kn-attendance-message { display:grid; gap:5px; margin:0 0 23px; padding:16px 18px; border:1px solid rgba(98,177,255,.3); border-left:4px solid #55aaff; border-radius:10px; background:rgba(42,116,190,.11); }
.kn-attendance-message strong { color:#f4f9ff; font-size:15px; }
.kn-attendance-message span { color:#c4d1df; font-size:13px; line-height:1.5; }
.kn-attendance-message.is-success { border-color:rgba(82,213,129,.33); border-left-color:#52d581; background:rgba(32,139,79,.12); }
.kn-attendance-message.is-notice { border-color:rgba(244,190,74,.34); border-left-color:#f4be4a; background:rgba(166,111,17,.12); }
.kn-attendance-message.is-error { border-color:rgba(255,75,97,.35); border-left-color:#ff4b61; background:rgba(179,27,50,.12); }
.kn-attendance-process { position:relative; display:flex; flex-direction:column; padding:clamp(32px,4vw,56px); overflow:hidden; background:radial-gradient(circle at 85% 12%,rgba(var(--series-rgb),.3),transparent 28%),linear-gradient(155deg,var(--series-deep),#020916 76%); color:#fff; }
.kn-attendance-process::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.kn-attendance-process > * { position:relative; z-index:1; }
.kn-attendance-process .overline { margin:0 0 28px !important; color:#aebed1 !important; font-size:10px !important; }
.kn-attendance-process .overline span { color:var(--series-bright) !important; }
.kn-attendance-process ol { display:grid; gap:0; margin:0; padding:0; list-style:none; counter-reset:none; }
.kn-attendance-process li { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; min-height:112px; padding:18px 0; border-top:1px solid rgba(255,255,255,.13); }
.kn-attendance-process li:last-child { border-bottom:1px solid rgba(255,255,255,.13); }
.kn-attendance-process li:not(:last-child)::after { content:""; position:absolute; left:23px; top:64px; bottom:-18px; width:1px; background:linear-gradient(var(--series-bright),rgba(255,255,255,.05)); }
.kn-attendance-process li > b { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:var(--series-bright); font-size:11px; background:rgba(2,9,22,.52); }
.kn-attendance-process li div { display:grid; align-content:center; gap:5px; }
.kn-attendance-process li strong { color:#fff; font-size:17px; line-height:1.3; }
.kn-attendance-process li span { color:#b5c3d5; font-size:13px; line-height:1.55; }
.kn-attendance-help { margin-top:auto; padding-top:30px; }
.kn-attendance-help > strong { color:#fff; font-size:17px; }
.kn-site .kn-attendance-help p { margin:8px 0 18px !important; color:#b5c3d5 !important; font-size:14px !important; line-height:1.6 !important; }
.kn-attendance-help a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 0 0; border-top:1px solid rgba(255,255,255,.16); color:#fff; font-size:11px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.kn-attendance-help a:hover { color:var(--series-bright); }
.kn-attendance-help svg { width:21px; }

.kn-platform-status-person { display:grid; gap:3px; }
.kn-platform-status-person > span { color:#dce7f5; }
.kn-platform-status-person > strong { color:#fff; font-size:15px; }
.kn-platform-status-actions { display:flex; align-items:center; gap:18px; }
.kn-platform-status-actions form { margin:0; }
.kn-platform-status-actions button { min-height:38px; padding:0 14px; border:1px solid rgba(255,255,255,.26); border-radius:7px; background:rgba(255,255,255,.07); color:#fff; font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background .2s,border-color .2s; }
.kn-platform-status-actions button:hover { border-color:var(--series-bright); background:rgba(var(--series-rgb),.2); }

/* Jasny motyw: formularz ma wyraźne warstwy, a panel procesu pozostaje ciemną wyspą. */
.kn-site[data-theme="light"] .kn-platform-unlock { background:#eaf0f5 !important; }
.kn-site[data-theme="light"] .kn-attendance-layout { border-color:rgba(7,26,54,.25); background:#fff; box-shadow:0 38px 90px rgba(18,43,72,.18),0 0 0 1px rgba(255,255,255,.8); }
.kn-site[data-theme="light"] .kn-attendance-gate { background:linear-gradient(145deg,#fff 0%,#f7f2ea 58%,#edf3f8 100%); }
.kn-site[data-theme="light"] .kn-attendance-gate::after { color:rgba(7,26,54,.035); }
.kn-site[data-theme="light"] .kn-attendance-kicker { color:#28415e; }
.kn-site[data-theme="light"] .kn-attendance-kicker b { color:#12365d; border-color:rgba(7,26,54,.2); background:rgba(255,255,255,.65); }
.kn-site[data-theme="light"] .kn-attendance-gate h2 { color:#071a36 !important; }
.kn-site[data-theme="light"] .kn-attendance-gate h2 em { color:var(--series-accent) !important; }
.kn-site[data-theme="light"] .kn-attendance-gate > p { color:#314b67 !important; }
.kn-site[data-theme="light"] .kn-attendance-fields label > span { color:#132f50 !important; }
.kn-site[data-theme="light"] .kn-attendance-fields input { color:#071a36 !important; background:#fff !important; border-color:rgba(7,26,54,.3) !important; box-shadow:0 8px 22px rgba(20,44,73,.055); }
.kn-site[data-theme="light"] .kn-attendance-fields input::placeholder { color:#6e8197; }
.kn-site[data-theme="light"] .kn-attendance-fields input:hover { border-color:#506b89 !important; background:#fbfdff !important; }
.kn-site[data-theme="light"] .kn-attendance-fields input:focus { border-color:var(--series-accent) !important; box-shadow:0 0 0 4px rgba(var(--series-rgb),.13) !important; }
.kn-site[data-theme="light"] .kn-attendance-consent span { color:#304963 !important; }
.kn-site[data-theme="light"] .kn-attendance-consent a { color:#071a36 !important; }
.kn-site[data-theme="light"] .kn-attendance-gate > small { color:#536b84; }
.kn-site[data-theme="light"] .kn-attendance-message strong { color:#071a36; }
.kn-site[data-theme="light"] .kn-attendance-message span { color:#2d4865; }
.kn-site[data-theme="light"] .kn-attendance-message.is-success { background:#e3f5e9; border-color:#8ac9a0; }
.kn-site[data-theme="light"] .kn-attendance-message.is-notice { background:#fff3d5; border-color:#d9af53; }
.kn-site[data-theme="light"] .kn-attendance-message.is-error { background:#ffe8eb; border-color:#dc8692; }
.kn-site[data-theme="light"] .kn-attendance-process,
.kn-site[data-theme="light"] .kn-attendance-process :is(strong,span,p,a,b) { color:#fff !important; }
.kn-site[data-theme="light"] .kn-attendance-process li span,
.kn-site[data-theme="light"] .kn-attendance-process .overline,
.kn-site[data-theme="light"] .kn-attendance-help p { color:#bdcada !important; }
.kn-site[data-theme="light"] .kn-attendance-process .overline span,
.kn-site[data-theme="light"] .kn-attendance-process li > b { color:var(--series-bright) !important; }

@media (max-width:980px) {
  .kn-attendance-layout { grid-template-columns:1fr; }
  .kn-attendance-process { min-height:560px; }
  .kn-attendance-help { margin-top:28px; }
}
@media (max-width:640px) {
  .kn-platform-unlock { padding-block:48px !important; }
  .kn-attendance-layout { border-radius:18px; }
  .kn-attendance-gate,.kn-attendance-process { padding:28px 20px; }
  .kn-site .kn-attendance-gate h2 { font-size:clamp(32px,10vw,42px) !important; }
  .kn-site .kn-attendance-gate > p { font-size:16px !important; line-height:1.65 !important; }
  .kn-attendance-fields { grid-template-columns:1fr; }
  .kn-attendance-fields label.is-wide { grid-column:auto; }
  .kn-attendance-kicker b { display:none; }
  .kn-attendance-process { min-height:auto; }
  .kn-platform-status-actions { width:100%; justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) {
  .kn-attendance-gate > .button { transition:none !important; }
}
