/* ثبت‌نام آزمون‌های خیلی سبز — استایل مشترک صفحه‌ی اول، صفحه‌ی مستقل و پنل دانش‌آموز.
   رنگ‌ها از متغیرهای صفحه‌ی میزبان خوانده می‌شوند و مقدار پیش‌فرضِ تیره دارند. */
.ks-root{
  --ks-card:var(--card,rgba(15,23,42,.78));
  --ks-field:var(--bg-field,rgba(148,163,184,.10));
  --ks-text:var(--text,#e5edf9);
  --ks-muted:var(--muted,#93a1bb);
  --ks-border:var(--border,rgba(148,163,184,.22));
  --ks-accent:var(--primary,#2563eb);
  --ks-green:#16a34a;
  --ks-green-soft:rgba(34,197,94,.14);
  --ks-warn:#f59e0b;
  --ks-bad:#ef4444;
  color:var(--ks-text);font-family:inherit;line-height:1.9;direction:rtl;
}
.ks-root *{box-sizing:border-box}
.ks-hero{border-radius:24px;padding:26px 24px;margin-bottom:18px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#047857,#16a34a 55%,#65a30d);box-shadow:0 20px 50px rgba(22,163,74,.28)}
.ks-hero::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12);left:-60px;top:-70px}
.ks-badge{display:inline-block;background:rgba(255,255,255,.2);border-radius:999px;padding:4px 14px;font-size:12px;font-weight:800;margin-bottom:10px}
.ks-hero h2{margin:0 0 8px;font-size:clamp(21px,3.2vw,30px);line-height:1.6}
.ks-hero p{margin:0 0 14px;opacity:.95;max-width:62ch}
.ks-facts{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.ks-fact{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:10px 16px;min-width:130px}
.ks-fact b{display:block;font-size:22px;line-height:1.4}
.ks-fact small{opacity:.9}
.ks-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ks-steps li{background:var(--ks-card);border:1px solid var(--ks-border);border-radius:16px;padding:12px;font-size:13px;display:flex;gap:10px;align-items:flex-start}
.ks-steps li span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ks-green-soft);color:var(--ks-green);display:grid;place-items:center;font-weight:800}
.ks-card{background:var(--ks-card);border:1px solid var(--ks-border);border-radius:22px;padding:22px;margin-bottom:18px}
.ks-card h3{margin:0 0 4px;font-size:18px}
.ks-card>p.ks-sub{margin:0 0 16px;color:var(--ks-muted);font-size:13px}
.ks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ks-grid .ks-wide{grid-column:1/-1}
.ks-field{display:grid;gap:6px;font-size:13px;font-weight:700;min-width:0}
.ks-field small{font-weight:400;color:var(--ks-muted)}
.ks-field input,.ks-field textarea{width:100%;font:inherit;font-weight:400;color:var(--ks-text);background:var(--ks-field);border:1px solid var(--ks-border);border-radius:13px;padding:12px 13px;outline:none;min-height:46px}
.ks-field input:focus,.ks-field textarea:focus{border-color:var(--ks-green);box-shadow:0 0 0 3px var(--ks-green-soft)}
.ks-field input[dir=ltr]{text-align:left}
.ks-field.invalid input,.ks-field.invalid textarea{border-color:var(--ks-bad)}
.ks-err{color:var(--ks-bad);font-weight:400;font-size:12px;min-height:0}
.ks-pay{background:var(--ks-green-soft);border:1px dashed var(--ks-green);border-radius:18px;padding:16px;margin:4px 0 14px}
.ks-pay-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:4px 0}
.ks-card-num{font-size:19px;font-weight:800;letter-spacing:1px;direction:ltr;unicode-bidi:plaintext}
.ks-copy{border:1px solid var(--ks-green);background:transparent;color:var(--ks-green);border-radius:10px;padding:6px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;min-height:36px}
.ks-warn{background:rgba(245,158,11,.14);border:1px solid var(--ks-warn);color:var(--ks-text);border-radius:12px;padding:10px 12px;font-size:13px;margin-top:8px}
.ks-receipt{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ks-receipt img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid var(--ks-border)}
.ks-btn{border:0;border-radius:14px;padding:14px 22px;font:inherit;font-weight:800;color:#fff;cursor:pointer;min-height:48px;
  background:linear-gradient(135deg,#047857,#16a34a);box-shadow:0 10px 25px rgba(22,163,74,.28)}
.ks-btn:disabled{opacity:.6;cursor:wait}
.ks-btn.ghost{background:transparent;color:var(--ks-text);border:1px solid var(--ks-border);box-shadow:none}
.ks-msg{margin-top:12px;font-size:13px;min-height:20px}
.ks-msg.err{color:var(--ks-bad)}
.ks-result{border-radius:20px;padding:20px;margin-bottom:14px;border:1px solid var(--ks-border);background:var(--ks-card)}
.ks-result.approved{border-color:var(--ks-green);background:var(--ks-green-soft)}
.ks-result.rejected{border-color:var(--ks-bad)}
.ks-status{display:inline-block;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800;background:rgba(245,158,11,.18);color:var(--ks-warn)}
.approved .ks-status{background:rgba(34,197,94,.2);color:var(--ks-green)}
.rejected .ks-status{background:rgba(239,68,68,.18);color:var(--ks-bad)}
.ks-code{font-size:clamp(28px,6vw,40px);font-weight:900;letter-spacing:3px;direction:ltr;text-align:center;margin:10px 0;color:var(--ks-green);unicode-bidi:plaintext}
.ks-ref{direction:ltr;unicode-bidi:plaintext;font-weight:800}
.ks-inline{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.ks-note{font-size:12.5px;color:var(--ks-muted);margin-top:8px}
@media(max-width:700px){
  .ks-steps{grid-template-columns:1fr 1fr}
  .ks-grid{grid-template-columns:1fr}
  .ks-inline{grid-template-columns:1fr}
  .ks-card{padding:16px}
  .ks-hero{padding:20px 16px}
  .ks-fact{flex:1 1 130px}
}

/* ---- محل ثبت‌نام حضوری ---- */
.ks-venue{background:var(--ks-green-soft);border:1px solid var(--ks-green);border-radius:16px;padding:12px 16px;margin-bottom:18px}
.ks-venue-row{padding:3px 0;overflow-wrap:anywhere}

/* ---- نوار باریک بالای صفحه‌ی اول ---- */
.ks-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:9px 24px;min-height:46px;text-decoration:none;color:#fff;font-family:inherit;
  background:linear-gradient(90deg,#047857,#16a34a,#65a30d,#16a34a,#047857);background-size:300% 100%;
  animation:ks-bg 8s linear infinite;position:relative;z-index:60}
.ks-strip-text{font-size:clamp(14px,1.9vw,20px);font-weight:700;line-height:1.7}
.ks-strip-text b{font-weight:900}
.ks-strip-cta{display:inline-flex;align-items:center;gap:10px;font-size:clamp(14px,1.9vw,20px);font-weight:900;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:3px 16px}
.ks-strip-cta i{font-style:normal;animation:ks-nudge 1.2s ease-in-out infinite}
.ks-anim{animation:ks-color 2.4s linear infinite}
.ks-anim.d2{animation-delay:-1.2s}
.ks-strip:hover .ks-strip-cta{background:rgba(0,0,0,.35)}
@keyframes ks-color{0%{color:#fff}25%{color:#fde047}50%{color:#a7f3d0}75%{color:#fda4af}100%{color:#fff}}
@keyframes ks-bg{0%{background-position:0 0}100%{background-position:300% 0}}
@keyframes ks-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
@media(max-width:700px){.ks-strip{padding:8px 14px;justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.ks-strip,.ks-anim,.ks-strip-cta i{animation:none}}
