/* Zapytac Platform public design system v1.4
   Purpose: preserve the refined assessment/dashboard spacing while giving every
   public module one consistent visual language. */
.zap-app{
  --zap-ink:#152033;
  --zap-ink-2:#253148;
  --zap-muted:#526071;
  --zap-muted-2:#6b7788;
  --zap-line:#dbe1ea;
  --zap-line-strong:#c6d0dc;
  --zap-soft:#f6f8fb;
  --zap-soft-2:#eef3f8;
  --zap-panel:#fff;
  --zap-focus:#2447a5;
  --zap-good:#0a6a38;
  --zap-warn:#8a5a00;
  --zap-danger:#8a1f2d;
  --zap-radius-sm:12px;
  --zap-radius:16px;
  --zap-radius-lg:22px;
  --zap-shadow:0 14px 40px rgba(17,30,50,.09);
  --zap-shadow-soft:0 8px 24px rgba(17,30,50,.06);
  --zap-space-1:6px;
  --zap-space-2:10px;
  --zap-space-3:14px;
  --zap-space-4:18px;
  --zap-space-5:24px;
  --zap-space-6:32px;
  --zap-space-7:44px;
  max-width:1120px;
  margin:0 auto;
  padding:var(--zap-space-6) 18px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--zap-ink);
  line-height:1.5;
}
.zap-app *{box-sizing:border-box}
.zap-app [hidden]{display:none!important}
.zap-app :focus-visible{outline:3px solid rgba(36,71,165,.28);outline-offset:3px;border-radius:10px}
.zap-hero{padding:var(--zap-space-6) 0 var(--zap-space-5)}
.zap-assessment-hero{padding-bottom:var(--zap-space-5)}
.zap-eyebrow{margin:0 0 var(--zap-space-2);color:var(--zap-muted);font-size:.76rem;font-weight:900;letter-spacing:.13em;line-height:1.2;text-transform:uppercase}
.zap-hero h1{max-width:920px;margin:0 0 var(--zap-space-3);font-size:clamp(2rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.045em}
.zap-hero p:not(.zap-eyebrow){max-width:780px;margin:0;color:#2e3a4d;font-size:1.08rem;line-height:1.62}
.zap-section-kicker{margin:0 0 var(--zap-space-1);font-size:.9rem;color:var(--zap-muted);font-weight:800}
.zap-panel,.zap-card,.zap-reading-card,.zap-result-card,.zap-quiz-card{border:1px solid var(--zap-line);border-radius:var(--zap-radius-lg);background:var(--zap-panel);padding:var(--zap-space-6);box-shadow:var(--zap-shadow)}
.zap-card,.zap-kpi{box-shadow:var(--zap-shadow-soft)}
.zap-assessment-shell{padding:var(--zap-space-6)}
.zap-output{margin-top:var(--zap-space-5);line-height:1.7}.zap-output:empty{display:none}
.zap-loading{padding:var(--zap-space-5);border:1px solid var(--zap-line);border-radius:var(--zap-radius);background:var(--zap-soft);font-weight:800;color:var(--zap-ink-2)}
.zap-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:999px;padding:12px 20px;margin-top:var(--zap-space-4);background:var(--zap-ink);color:#fff;font:inherit;font-weight:900;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}
.zap-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.zap-button:active{transform:translateY(0)}.zap-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.zap-button-secondary{background:#eef2f7;border-color:var(--zap-line);color:var(--zap-ink)}
.zap-actions{display:flex;gap:var(--zap-space-3);flex-wrap:wrap;align-items:center;margin-top:var(--zap-space-5)}
.zap-meta,.zap-form-note{color:var(--zap-muted);font-size:.92rem;line-height:1.58}.zap-form-note{margin:var(--zap-space-2) 0 0}.zap-card-header .zap-meta{max-width:680px;margin:8px 0 0}
.zap-progress{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 var(--zap-space-6);padding:0 0 var(--zap-space-5);border-bottom:1px solid var(--zap-line)}
.zap-progress span{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--zap-line);border-radius:999px;padding:8px 13px;background:#fff;color:var(--zap-muted);font-size:.82rem;font-weight:900}.zap-progress span.is-active{background:var(--zap-ink);border-color:var(--zap-ink);color:#fff}.zap-progress span.is-complete{background:#eef2f7;color:var(--zap-ink)}
.zap-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:var(--zap-space-6);align-items:start}.zap-intro-grid h2{margin:0 0 var(--zap-space-2);font-size:1.55rem;line-height:1.18;letter-spacing:-.025em}.zap-intro-grid p{margin:0 0 var(--zap-space-4);color:#2e3a4d;line-height:1.64}.zap-intro-copy{padding-top:2px}.zap-checklist{display:grid;gap:10px;margin:var(--zap-space-5) 0 0;padding:0;list-style:none}.zap-checklist li{position:relative;margin:0;padding-left:28px;line-height:1.48}.zap-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--zap-good);font-weight:950}.zap-participant-form{display:grid;gap:var(--zap-space-4);border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-5);background:linear-gradient(180deg,#fff,var(--zap-soft))}.zap-form-title{margin:0;font-size:1rem;line-height:1.3}.zap-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--zap-space-4)}.zap-participant-form label,.zap-rsvp-controls label,.zap-dashboard-filters label{display:grid;gap:7px;margin:0;font-weight:850}.zap-participant-form label span,.zap-dashboard-filters label span,.zap-rsvp-controls label span{font-size:.88rem;color:#344055}.zap-participant-form input,.zap-rsvp-controls input,.zap-rsvp-controls select,.zap-dashboard-filters input,.zap-dashboard-filters select{width:100%;min-height:44px;border:1px solid #cbd4df;border-radius:var(--zap-radius-sm);padding:11px 12px;background:#fff;color:var(--zap-ink);font:inherit}.zap-participant-form input::placeholder,.zap-dashboard-filters input::placeholder{color:#8b96a5}
.zap-card-header{display:flex;justify-content:space-between;gap:var(--zap-space-5);align-items:flex-start;margin-bottom:var(--zap-space-4)}.zap-card-header h2{margin:0;line-height:1.15;letter-spacing:-.025em}.zap-timer{min-width:104px;border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:11px 13px;text-align:center;background:var(--zap-soft)}.zap-timer span{display:block;font-size:1.62rem;font-weight:950;line-height:1;letter-spacing:-.03em}.zap-timer small{display:block;margin-top:5px;color:var(--zap-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.zap-passage-text{margin:var(--zap-space-5) 0;font-size:1.08rem;line-height:1.88;white-space:pre-wrap;color:#253148}.zap-quiz-card{display:grid;gap:var(--zap-space-5)}.zap-question{border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-5);margin:0;background:#fff}.zap-question legend{padding:0 6px;font-weight:850;line-height:1.36}.zap-question legend span{display:block;margin-bottom:4px;color:var(--zap-muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.zap-answer{display:flex;gap:12px;align-items:flex-start;border:1px solid #e3e8ef;border-radius:13px;padding:12px;margin-top:10px;background:#fff;cursor:pointer;transition:background .14s ease,border-color .14s ease}.zap-answer:hover{background:var(--zap-soft);border-color:var(--zap-line-strong)}.zap-answer input{margin-top:4px}.zap-answer span{line-height:1.45}
.zap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--zap-space-4)}.zap-grid-compact{margin:var(--zap-space-5) 0}.zap-kpi{border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-5);background:#fff;min-height:108px}.zap-kpi span{display:block;margin-bottom:8px;color:var(--zap-muted);font-size:.82rem;font-weight:900;line-height:1.25}.zap-kpi strong{display:block;font-size:clamp(1.35rem,3vw,2.05rem);line-height:1.05;letter-spacing:-.035em}.zap-result-card h2{margin:0}.zap-ri-summary{border-top:1px solid var(--zap-line);margin-top:var(--zap-space-5);padding-top:var(--zap-space-5)}.zap-ri-summary h3{margin:0 0 8px;line-height:1.2}.zap-ri-summary p{margin:0;color:#2e3a4d;line-height:1.72}
.zap-alert{border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-4);background:var(--zap-soft);color:var(--zap-ink-2)}.zap-alert p{margin:5px 0 0}.zap-alert strong{display:block}.zap-alert-error{border-color:#f2b8b5;background:#fff4f4;color:#6b1d18}
.zap-rsvp-controls{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:var(--zap-space-4);align-items:end}.zap-rsvp-stage{display:flex;align-items:center;justify-content:center;min-height:240px;margin-top:var(--zap-space-5);border:1px solid var(--zap-line);border-radius:var(--zap-radius-lg);background:radial-gradient(circle at top,#fff,var(--zap-soft));font-size:clamp(2rem,7vw,5rem);font-weight:950;letter-spacing:-.045em;text-align:center;padding:var(--zap-space-5)}.zap-after{margin-top:var(--zap-space-5)}
.zap-dashboard-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.65fr);gap:var(--zap-space-5);align-items:end;margin-bottom:var(--zap-space-5)}.zap-dashboard-toolbar h2,.zap-dashboard-section h2{margin:0 0 8px;line-height:1.15;letter-spacing:-.025em}.zap-dashboard-filters{display:grid;grid-template-columns:1fr 1fr 1.25fr auto auto;gap:12px;align-items:end}.zap-dashboard-status{min-height:24px;margin:var(--zap-space-3) 0;color:var(--zap-muted);font-size:.9rem;font-weight:800}.zap-dashboard-status.is-error{color:#6b1d18}.zap-dashboard-kpis{margin:var(--zap-space-5) 0 var(--zap-space-6)}.zap-dashboard-section{margin-top:var(--zap-space-5)}.zap-table-wrap{width:100%;overflow:auto;border:1px solid var(--zap-line);border-radius:var(--zap-radius);background:#fff}.zap-table{width:100%;min-width:840px;border-collapse:separate;border-spacing:0}.zap-table th,.zap-table td{padding:14px 15px;border-bottom:1px solid #e7ebf1;text-align:left;vertical-align:middle}.zap-table th{background:var(--zap-soft);color:var(--zap-muted);font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.zap-table tr:last-child td{border-bottom:0}.zap-table td strong{display:block}.zap-table td small{display:block;margin-top:3px;color:var(--zap-muted)}.zap-table tbody tr:hover td{background:#fbfcfe}.zap-pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;color:var(--zap-muted);font-size:.9rem;font-weight:850}.zap-pagination .zap-button{min-height:36px;margin-top:0;padding:9px 14px}.zap-code{white-space:pre-wrap;background:var(--zap-soft);border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-4);overflow:auto}
@media(max-width:980px){.zap-dashboard-toolbar{grid-template-columns:1fr}.zap-dashboard-filters{grid-template-columns:1fr 1fr}.zap-dashboard-filters .zap-button{width:100%}}
@media(max-width:860px){.zap-intro-grid{grid-template-columns:1fr}.zap-card-header{flex-direction:column}.zap-timer{align-self:flex-start}.zap-rsvp-controls{grid-template-columns:1fr}.zap-grid{grid-template-columns:1fr 1fr}.zap-progress{gap:8px}.zap-progress span{font-size:.78rem;padding:7px 10px}}
@media(max-width:640px){.zap-dashboard-filters{grid-template-columns:1fr}.zap-pagination{justify-content:flex-start}.zap-dashboard-toolbar{padding:var(--zap-space-5)}}
@media(max-width:560px){.zap-app{padding:22px 14px}.zap-panel,.zap-card,.zap-reading-card,.zap-result-card,.zap-quiz-card{padding:18px;border-radius:18px}.zap-assessment-shell{padding:18px}.zap-field-grid,.zap-grid{grid-template-columns:1fr}.zap-passage-text{font-size:1rem;line-height:1.74}.zap-button{width:100%}.zap-actions .zap-button{width:100%}.zap-kpi{min-height:auto}.zap-card-header{gap:var(--zap-space-3)}}
@media(prefers-reduced-motion:reduce){.zap-button,.zap-answer{transition:none}.zap-button:hover{transform:none}}

/* v1.4 RSVP Reader Experience + Adaptive Training polish */
.zap-rsvp-panel{display:grid;gap:var(--zap-space-5)}
.zap-rsvp-intro{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:var(--zap-space-5);align-items:start;padding-bottom:var(--zap-space-5);border-bottom:1px solid var(--zap-line)}
.zap-rsvp-intro h2{margin:0 0 var(--zap-space-2);font-size:1.35rem;line-height:1.18;letter-spacing:-.025em}
.zap-rsvp-status-card{border:1px solid var(--zap-line);border-radius:var(--zap-radius);padding:var(--zap-space-4);background:var(--zap-soft);box-shadow:var(--zap-shadow-soft)}
.zap-rsvp-status-card span{display:block;margin-bottom:6px;color:var(--zap-muted);font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.zap-rsvp-status-card strong{display:block;font-size:1.24rem;line-height:1.1;letter-spacing:-.02em}
.zap-rsvp-controls{grid-template-columns:minmax(0,1fr) 170px 220px;margin-top:0}
.zap-rsvp-action-row{display:flex;gap:var(--zap-space-3);align-items:center;flex-wrap:wrap}
.zap-rsvp-action-row .zap-button{margin-top:0}
.zap-rsvp-progress{display:grid;gap:8px}
.zap-rsvp-progress-bar{height:12px;border:1px solid var(--zap-line);border-radius:999px;background:var(--zap-soft);overflow:hidden}
.zap-rsvp-progress-bar span{display:block;width:0;height:100%;border-radius:999px;background:var(--zap-ink);transition:width .18s ease}
.zap-rsvp-progress p{display:flex;justify-content:space-between;gap:var(--zap-space-4);margin:0;color:var(--zap-muted);font-size:.86rem;font-weight:850}
.zap-rsvp-stage{position:relative;min-height:300px;margin-top:0;font-size:clamp(2.25rem,7vw,5.7rem);line-height:1.05}
.zap-rsvp-stage:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:38%;background:rgba(21,32,51,.08);transform:translate(-50%,-50%);pointer-events:none}
.zap-rsvp-guidance:empty{display:none}
.zap-rsvp-guidance .zap-alert p + p{margin-top:7px}
@media(max-width:860px){.zap-rsvp-intro{grid-template-columns:1fr}.zap-rsvp-controls{grid-template-columns:1fr}.zap-rsvp-progress p{flex-direction:column;gap:2px}.zap-rsvp-action-row .zap-button{width:100%}}
