/* Future Platform — Registration page theme
   CSS-only visual enhancement. Keep register.php business logic unchanged. */
:root {
  --fp-ink:#17213d;
  --fp-muted:#69748d;
  --fp-primary:#5b5ce2;
  --fp-primary-dark:#4546c7;
  --fp-border:#e2e7f2;
}
html { min-height:100%; background:#eef2ff; }
body {
  box-sizing:border-box;
  min-height:100vh;
  padding:28px 16px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fp-ink);
  font-family:"Tajawal","Segoe UI",Tahoma,sans-serif;
  background:
    radial-gradient(circle at 12% 18%,rgba(117,119,255,.22),transparent 30%),
    radial-gradient(circle at 88% 82%,rgba(33,190,210,.18),transparent 32%),
    linear-gradient(135deg,#111a3c 0%,#27356d 46%,#5260d9 100%)!important;
}
body::before,body::after {
  content:"";
  position:fixed;
  z-index:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  pointer-events:none;
}
body::before {
  width:390px;height:390px;top:-190px;inset-inline-start:-100px;
  box-shadow:0 0 0 36px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.02);
}
body::after {
  width:310px;height:310px;bottom:-170px;inset-inline-end:-80px;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 72px rgba(255,255,255,.02);
}
.register-form {
  box-sizing:border-box;
  position:relative;
  z-index:1;
  width:min(100%,500px);
  max-width:500px!important;
  padding:34px 36px 28px!important;
  margin:auto;
  color:var(--fp-ink);
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(255,255,255,.7);
  border-radius:24px!important;
  box-shadow:0 28px 75px rgba(5,12,43,.30),0 5px 16px rgba(5,12,43,.08)!important;
  animation:fp-register-enter .5s ease both;
}
.register-form h2 {
  margin:0 0 25px!important;
  color:var(--fp-ink)!important;
  font-size:clamp(23px,4vw,28px);
  line-height:1.45;
  font-weight:800;
  text-align:center;
}
.lang-switch {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 23px!important;
  padding:0 0 18px;
  border-bottom:1px solid #edf0f7;
  color:var(--fp-muted);
  line-height:1.8;
}
.lang-switch a {
  display:inline-block;
  margin:0 2px!important;
  padding:5px 10px!important;
  border-radius:9px!important;
  color:var(--fp-primary)!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
  transition:background .2s,color .2s,transform .2s;
}
.lang-switch a:hover {
  background:#eff0ff!important;
  color:var(--fp-primary-dark)!important;
  transform:translateY(-1px);
}
.register-form label {
  display:block;
  margin:0 0 7px!important;
  color:#35405d!important;
  font-size:14px;
  font-weight:800!important;
  line-height:1.7;
}
.register-form input,
.register-form select {
  display:block;
  box-sizing:border-box;
  width:100%!important;
  min-height:49px;
  margin:0 0 17px!important;
  padding:12px 14px!important;
  color:#202a46;
  background:#f8faff!important;
  border:1px solid var(--fp-border)!important;
  border-radius:12px!important;
  outline:none;
  font-family:inherit;
  font-size:15px;
  line-height:1.5;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.register-form input::placeholder { color:#8992a8;opacity:1; }
.register-form input:focus,
.register-form select:focus {
  background:#fff!important;
  border-color:#7778ef!important;
  box-shadow:0 0 0 4px rgba(91,92,226,.12)!important;
}
.register-form button {
  display:block;
  width:100%;
  min-height:51px;
  margin-top:5px;
  padding:13px 18px!important;
  color:#fff!important;
  background:linear-gradient(110deg,var(--fp-primary),#397fe5)!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 9px 20px rgba(83,91,218,.25);
  font-family:inherit;
  font-size:16px!important;
  font-weight:800!important;
  cursor:pointer;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.register-form button:hover {
  filter:brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(83,91,218,.32);
}
.register-form button:active { transform:translateY(0); }
.success-box,.error-box {
  box-sizing:border-box;
  padding:15px 17px!important;
  margin:0 0 18px!important;
  border-radius:13px!important;
  font-size:14px;
  line-height:1.9;
  text-align:start!important;
}
.success-box {
  color:#176344!important;
  background:#eafaf2!important;
  border:1px solid #bdebd3!important;
}
.error-box {
  color:#a52c45!important;
  background:#fff1f3!important;
  border:1px solid #ffd4dc!important;
}
.register-form p {
  margin:21px 0 0!important;
  color:var(--fp-muted)!important;
  font-size:14px;
  line-height:1.9;
}
.register-form p a {
  color:var(--fp-primary)!important;
  font-weight:800!important;
  text-decoration:none!important;
  text-underline-offset:4px;
}
.register-form p a:hover {
  color:var(--fp-primary-dark)!important;
  text-decoration:underline!important;
}
@keyframes fp-register-enter {
  from { opacity:0;transform:translateY(15px); }
  to { opacity:1;transform:translateY(0); }
}
@media(max-width:520px) {
  body { padding:16px 12px;align-items:flex-start; }
  .register-form {
    margin:auto;
    padding:27px 21px 23px!important;
    border-radius:20px!important;
  }
  .register-form h2 { margin-bottom:21px!important; }
  .lang-switch { margin-bottom:20px!important;padding-bottom:14px; }
  .register-form input,.register-form select { min-height:47px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
