/* Hosturm — авторизація/реєстрація в стилі головної (тёмний преміум).
   Підключається лише на .page-login / .page-signup, кабінет не зачіпає. */

:is(body.page-login,body.page-password-reset,body.page-set-password),
:is(body.page-signup){
  min-height:100vh;
  background:#05060C;
  color:#F2F4FA;
  position:relative;
  overflow-x:hidden;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
/* аврора + сітка */
:is(body.page-login,body.page-password-reset,body.page-set-password)::before,
:is(body.page-signup)::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(46% 42% at 18% 8%, rgba(42,82,201,.4) 0%, transparent 70%),
    radial-gradient(42% 40% at 85% 12%, rgba(124,58,237,.36) 0%, transparent 70%),
    radial-gradient(36% 34% at 55% 0%, rgba(14,165,183,.25) 0%, transparent 70%);
  filter:blur(46px);
}
:is(body.page-login,body.page-password-reset,body.page-set-password)::after,
:is(body.page-signup)::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 78%);
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 78%);
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .container,
:is(body.page-signup) .container{position:relative;z-index:1}

/* картка-скло */
:is(body.page-login,body.page-password-reset,body.page-set-password) .card,
:is(body.page-signup) .card{
  background:rgba(12,15,27,.86);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.02);
  color:#F2F4FA;
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .card-body,
:is(body.page-signup) .card-body{padding:2rem}
:is(body.page-login,body.page-password-reset,body.page-set-password) .card h5,
:is(body.page-signup) .card h5{
  font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:#F2F4FA;
}

/* поля */
:is(body.page-login,body.page-password-reset,body.page-set-password) .form-label,
:is(body.page-signup) .form-label{color:#8E93AB;font-size:.85rem}
:is(body.page-login,body.page-password-reset,body.page-set-password) .form-control, :is(body.page-login,body.page-password-reset,body.page-set-password) .form-select,
:is(body.page-signup) .form-control, :is(body.page-signup) .form-select{
  background:#0A0D18;border:1px solid rgba(255,255,255,.12);
  color:#F2F4FA;border-radius:11px;padding:.7rem .9rem;
  transition:border-color .2s, box-shadow .2s;
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .form-control::placeholder,
:is(body.page-signup) .form-control::placeholder{color:#5C6079}
:is(body.page-login,body.page-password-reset,body.page-set-password) .form-control:focus, :is(body.page-login,body.page-password-reset,body.page-set-password) .form-select:focus,
:is(body.page-signup) .form-control:focus, :is(body.page-signup) .form-select:focus{
  background:#0A0D18;color:#F2F4FA;border-color:#3B82F6;
  box-shadow:0 0 0 .2rem rgba(59,130,246,.2);
}
:is(body.page-signup) .form-select option{background:#0C0F1B;color:#F2F4FA}
:is(body.page-login,body.page-password-reset,body.page-set-password) .form-check-label,
:is(body.page-signup) .form-check-label,
:is(body.page-signup) .form-text{color:#8E93AB}

/* кнопки */
:is(body.page-login,body.page-password-reset,body.page-set-password) .btn-primary,
:is(body.page-signup) .btn-primary{
  background:linear-gradient(135deg,#3B82F6 0%,#8B5CF6 100%);
  border:0;border-radius:12px;font-weight:700;padding:.8rem 1rem;
  box-shadow:0 8px 30px rgba(91,94,244,.4);
  transition:transform .2s, box-shadow .2s;
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .btn-primary:hover,
:is(body.page-signup) .btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 40px rgba(91,94,244,.55);
  background:linear-gradient(135deg,#3B82F6 0%,#8B5CF6 100%);
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .btn-outline-primary,
:is(body.page-signup) .btn-outline-primary{
  color:#C6CADB;border:1px solid rgba(255,255,255,.16);
  border-radius:12px;background:rgba(255,255,255,.03);font-weight:600;
}
:is(body.page-login,body.page-password-reset,body.page-set-password) .btn-outline-primary:hover,
:is(body.page-signup) .btn-outline-primary:hover{
  background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3);
}

/* дрібниці */
:is(body.page-login,body.page-password-reset,body.page-set-password) .h-75{min-height:88vh}
:is(body.page-signup) .row.h-75{min-height:100vh;padding:4vh 0}
:is(body.page-login,body.page-password-reset,body.page-set-password) a, :is(body.page-signup) a{color:#22D3EE}
