/* StudyPulse register-only Materio form skin.
   Keeps the existing register page orientation/layout. */
:root{
  --p:#00AEEF;
  --p-dk:#0287B8;
  --accent:#72F000;
  --g:#72F000;
  --field-accent:#00AEEF;
}
[data-bs-theme="light"]{
  --bg:#F3FBFF;
  --surf:#ffffff;
  --bord:rgba(47,43,61,.12);
  --txt:#2f2b3d;
  --muted:rgba(47,43,61,.68);
  --soft:rgba(0,174,239,.065);
}
[data-bs-theme="dark"]{
  --bg:#28243d;
  --surf:#312d4b;
  --bord:rgba(231,227,252,.12);
  --txt:#e7e3fc;
  --muted:rgba(231,227,252,.68);
  --soft:rgba(0,174,239,.12);
}
body{
  background:var(--bg)!important;
  color:var(--txt)!important;
}
a,.back-link:hover,.signin a{color:var(--p)!important;}
.step-icon,.choice-icon{
  background:rgba(0,174,239,.12)!important;
  color:var(--p)!important;
}
.card-choice:hover,.pill:hover,.plan-choice:hover{
  border-color:var(--p)!important;
  box-shadow:none!important;
}
.progress-dots .dot.active,.dot.active{
  background:var(--p)!important;
  border-color:var(--p)!important;
  box-shadow:none!important;
}
.progress-dots .dot.done,.dot.done,.dot-line.done{
  background:var(--p)!important;
  border-color:var(--p)!important;
}
.pill input,.plan-choice input{accent-color:var(--p)!important;}
.pill:has(input:checked),.plan-choice:has(input:checked){
  border-color:var(--p)!important;
  background:rgba(0,174,239,.075)!important;
  box-shadow:none!important;
}
.plan-price,.summary-chip{color:var(--p)!important;}
.summary-card{
  border-color:rgba(0,174,239,.35)!important;
  background:rgba(0,174,239,.055)!important;
}
.summary-chip{
  background:rgba(0,174,239,.10)!important;
}

/* Login-style outlined floating controls used on register pages */
.field.form-group.sp-login-floating,
.form-group.sp-login-floating{
  position:relative!important;
  margin-bottom:1.25rem!important;
}
.form-group.sp-login-floating>.form-label,
.field.form-group.sp-login-floating>label.form-label{
  position:absolute!important;
  top:50%!important;
  left:2.45rem!important;
  transform:translateY(-50%)!important;
  background:var(--surf)!important;
  color:var(--muted)!important;
  padding:0 .35rem!important;
  margin:0!important;
  font-size:.9375rem!important;
  font-weight:500!important;
  line-height:1!important;
  z-index:4!important;
  pointer-events:none!important;
  transition:all .15s ease!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.form-group.sp-login-floating:focus-within>.form-label,
.form-group.sp-login-floating.has-value>.form-label,
.field.form-group.sp-login-floating:focus-within>label.form-label,
.field.form-group.sp-login-floating.has-value>label.form-label,
.field.form-group.sp-login-floating.select-field>label.form-label{
  top:0!important;
  left:.75rem!important;
  transform:translateY(-50%) scale(.86)!important;
  color:var(--p)!important;
}
.form-group.sp-login-floating .input-icon{
  position:relative!important;
}
.form-group.sp-login-floating .input-icon .icon{
  position:absolute!important;
  left:.875rem!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:var(--p)!important;
  opacity:.75!important;
  z-index:3!important;
  font-size:1rem!important;
  pointer-events:none!important;
}
.form-group.sp-login-floating .form-control,
.field.form-group.sp-login-floating input:not([type=file]),
.field.form-group.sp-login-floating select,
.field.form-group.sp-login-floating textarea{
  width:100%!important;
  min-height:50px!important;
  border:1px solid var(--bord)!important;
  border-radius:.5rem!important;
  background:var(--surf)!important;
  color:var(--txt)!important;
  box-shadow:none!important;
  outline:0!important;
  padding:.875rem .875rem .5rem 2.625rem!important;
  font-size:.9375rem!important;
  font-weight:500!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
.form-group.sp-login-floating select.form-control,
.field.form-group.sp-login-floating select{
  appearance:auto!important;
  padding-right:2.4rem!important;
}
.form-group.sp-login-floating .form-control::placeholder,
.field.form-group.sp-login-floating input::placeholder,
.field.form-group.sp-login-floating textarea::placeholder{
  color:transparent!important;
}
.form-group.sp-login-floating .form-control:focus,
.field.form-group.sp-login-floating input:focus,
.field.form-group.sp-login-floating select:focus,
.field.form-group.sp-login-floating textarea:focus{
  border-color:var(--p)!important;
  box-shadow:none!important;outline:2px solid rgba(0,174,239,.28)!important;outline-offset:1px!important;
}

.form-control[type=file],.hrp-upload-enhancer{
  border-color:rgba(0,174,239,.34)!important;
  background:rgba(0,174,239,.06)!important;
}
.hrp-upload-icon,.hrp-upload-enhancer i{color:var(--p)!important;}
.file-label{color:var(--muted)!important;}

.btn-main.primary,.btn-primary-hrp{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5rem!important;
  width:100%;
  min-height:44px!important;
  border:1px solid var(--p)!important;
  border-radius:.5rem!important;
  background:var(--p)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-weight:600!important;
  text-transform:none!important;
  padding:.7rem 1.25rem!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
.btn-main.primary:hover,.btn-primary-hrp:hover{
  background:var(--p-dk)!important;
  border-color:var(--p-dk)!important;
  color:#fff!important;
  transform:none!important;
}
.btn-main.ghost{
  border-color:var(--bord)!important;
  color:var(--txt)!important;
  border-radius:.5rem!important;
}
.btn-main.ghost:hover{
  border-color:var(--p)!important;
  color:var(--p)!important;
}
.btn-main.ghost i,.btn-main.primary i,.btn-primary-hrp i{color:currentColor!important;}

@media(max-width:600px){
  .form-group.sp-login-floating>.form-label,
  .field.form-group.sp-login-floating>label.form-label{left:2.45rem!important;}
  .form-group.sp-login-floating:focus-within>.form-label,
  .form-group.sp-login-floating.has-value>.form-label,
  .field.form-group.sp-login-floating:focus-within>label.form-label,
  .field.form-group.sp-login-floating.has-value>label.form-label,
  .field.form-group.sp-login-floating.select-field>label.form-label{left:.75rem!important;}
}

/* Register pages: login-matched light/dark toggle */
.topbar-actions{
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
}
.choice-theme-row{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin-bottom:10px!important;
}
.theme-btn{
  background:none!important;
  border:none!important;
  color:var(--muted)!important;
  cursor:pointer!important;
  font-size:15px!important;
  padding:4px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.theme-btn:hover,
.theme-btn:focus{
  color:var(--p)!important;
  outline:none!important;
}
.theme-btn .theme-icon{color:currentColor!important;}

