/* =======================
   Dark Login – App Colors
   ======================= */

:root{
  --bg: #102733;
  --dark: #29404E;
  --blue: #29404E;
  --blueLight: #00D0FF;      /* turquoise primary */
  --orange: #FCCD00;
  --pink: #D12D77;

  --text: #E6EEF4;
  --muted: #9FB2BE;
  --card: #233946;
  --card-2: #1b313d;
  --border: rgba(255,255,255,.12);
  --shadow: 0 20px 60px rgba(0,0,0,.35);
}

/* Lift the form on large screens */
@media (min-width: 992px){
  .auth-wrapper .col-lg-6.d-flex{ align-items: flex-start !important; }
  .login-card{ transform: translateY(-72px); }
}
@media (min-width: 768px) and (max-width: 991.98px){
  .login-card{ transform: translateY(-40px); }
}

/* Page background */
.sign-in-page{
  min-height: 100vh;
  background:
    radial-gradient(1200px 800px at -10% -20%, rgba(0,208,255,.10), transparent 60%),
    radial-gradient(900px 600px at 110% 120%, rgba(209,45,119,.08), transparent 55%),
    linear-gradient(135deg, #0E2330 0%, var(--bg) 65%, #0c202b 100%);
}

/* Wrapper */
.auth-wrapper{
  max-width: 1140px;
  border-radius: 22px;
  background: transparent;
  overflow: hidden;
}

/* Hero panel */
.auth-hero{
  padding: 56px 72px;
  background:
    radial-gradient(600px 320px at 30% 10%, rgba(0,208,255,.12), transparent 60%),
    linear-gradient(135deg, var(--card-2) 0%, #17303b 100%);
  box-shadow: var(--shadow);
}
.auth-hero img{ height: 120px; }
.auth-hero h4{ color: var(--text); }
.auth-hero p{ color: var(--muted); }
.auth-hero .owl-dots .owl-dot span{ background: rgba(255,255,255,.25); }
.auth-hero .owl-dots .owl-dot.active span{ background: var(--blueLight); }

/* Flatten the login card (no chrome) */
.login-card,
.login-card.shadow,
.login-card.shadow-lg,
.login-card.bg-white{
  width: 100%;
  max-width: 480px;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0;
  color: var(--text);
}

/* Headings & small text */
.login-card h1{ color: var(--text); letter-spacing: .2px; }
.login-card .text-secondary{ color: var(--muted) !important; }

/* Inputs – pill, transparent */
.login-card .form-control{
  height: 52px;
  border-radius: 999px !important;
  background: rgba(255,255,255,.02) !important;
  border: 2px solid rgba(255,255,255,.22);
  color: var(--text);
  padding-inline: 22px;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
  box-shadow: 0 2px 0 rgba(0,0,0,0) inset;
  caret-color: var(--text);
}
.login-card .form-control::placeholder{ color: rgba(230,238,244,.58); }
.login-card .form-control:hover{ border-color: rgba(255,255,255,.32); }
.login-card .form-control:focus{
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(252,205,0,.18);
  background: rgba(255,255,255,.03) !important;
  color: var(--text);
}

/* Forgot link */
.login-card a.small{
  color: var(--blueLight) !important;
  text-decoration: none;
}
.login-card a.small:hover{ opacity:.85; }

/* Checkbox */
.custom-control-label{ color: var(--muted); }
.custom-control-input:focus~.custom-control-label::before{
  border-color: var(--blueLight) !important;
  box-shadow: 0 0 0 .2rem rgba(0,208,255,.2);
}
.custom-control-input:checked~.custom-control-label::before{
  border-color: var(--orange) !important;
  background-color: var(--orange) !important;
}

/* Primary button */
.login-card .btn-primary{
  height: 52px;
  border-radius: 999px;
  border: 0;
  color: #fff;
  background-image: linear-gradient(90deg, #233B49 0%, var(--blueLight) 100%);
  box-shadow: 0 10px 24px rgba(0,208,255,.22);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease;
}
.login-card .btn-primary:hover{
  filter: brightness(1.04);
  box-shadow: 0 12px 28px rgba(0,208,255,.28);
}
.login-card .btn-primary:active{ transform: translateY(1px); }

/* Alerts – subtle in dark */
.alert{
  border-radius: 14px;
  border: 1px solid var(--border);
  padding: 12px 14px;
}
.alert-primary{
  background: rgba(0,208,255,.12);
  color: var(--text);
  border-color: rgba(0,208,255,.35);
}
.alert-danger{
  background: rgba(209,45,119,.12);
  color: var(--text);
  border-color: rgba(209,45,119,.35);
}
.alert .close{ color:#fff; opacity:.7; }

/* Dots in hero slider */
.owl-theme .owl-dots .owl-dot span{
  width: 10px; height: 10px; margin: 5px 4px;
  border-radius: 50%;
}

/* Utilities */
.text-primary{ color: var(--blueLight) !important; }
a.text-primary:hover{ opacity:.9; }

/* Logo spacing */
.sign-in-logo{ margin-top: 6px; }
.sign-in-logo img{ height: 130px; }

.sign-in-page{
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 56px 48px;         
}
@media (max-width: 991.98px){
  .sign-in-page{ padding: 32px 20px; }
}

.login-card{ transform: none !important; }
.auth-wrapper .col-lg-6.d-flex{ align-items: center !important; }

.auth-row{ margin-left: -28px; margin-right: -28px; }  
.auth-col{ padding-left: 28px; padding-right: 28px; }

@media (min-width: 992px){
  .auth-row{ margin-left: -36px; margin-right: -36px; }
  .auth-col{ padding-left: 36px; padding-right: 36px; }
}
