/* Sensvec — giriş ekranı
 * Gerçek Frappe DOM'u:
 *   section.for-login > .page-card-head (logo + h4)  ← kartın DIŞINDA
 *                     > .login-content.page-card > form
 *                         > .page-card-body (.form-group > .email-field/.password-field)
 *                         > .page-card-actions (.btn-login)
 * Kapsam: yalnızca /login. Landing ve diğer web sayfaları etkilenmez.
 */

/* ---- Zemin ---- */
body[data-path="login"] {
  background: linear-gradient(180deg, #DCE9F1 0%, #E9F1F6 46%, #F5F9FB 100%);
}

/* bağlantılı nokta ağı — kusursuz döşenen desen */
body[data-path="login"]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("/assets/sensvec/images/login-bg.svg");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px 620px;
}

/* kartın arkasında yumuşak aydınlanma */
body[data-path="login"]::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(30% 34% at 50% 46%,
      rgba(247, 250, 252, 0.94) 0%,
      rgba(247, 250, 252, 0.55) 48%,
      rgba(247, 250, 252, 0) 78%);
}

/* ---- Dikey ortalama: tüm section'ları saran düz div ---- */
body[data-path="login"] div:has(> section.for-login) {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body[data-path="login"] section.for-login,
body[data-path="login"] section.for-forgot,
body[data-path="login"] section.for-signup,
body[data-path="login"] section.for-email-login,
body[data-path="login"] section.for-login-with-email-link {
  position: relative;
  z-index: 1;
  width: min(410px, calc(100vw - 32px));
}

/* ---- Footer: giriş ekranında gizli (beyaz bant + "Built on Frappe" kalkar) ---- */
body[data-path="login"] .web-footer,
body[data-path="login"] .footer-powered,
body[data-path="login"] footer {
  display: none !important;
}
body[data-path="login"],
body[data-path="login"] .page_content,
body[data-path="login"] main {
  background-color: transparent;
}
html:has(body[data-path="login"]) {
  background: linear-gradient(180deg, #DCE9F1 0%, #E9F1F6 46%, #F5F9FB 100%);
}

/* ---- Başlık (kartın dışında) ---- */
body[data-path="login"] .page-card-head {
  text-align: center;
  border: 0;
  margin-bottom: 18px;
  padding: 0;
}
body[data-path="login"] .page-card-head img,
body[data-path="login"] .page-card-head .app-logo {
  height: 120px;
  max-height: 120px;     /* Frappe'nin kendi max-height sınırını geçersiz kılar */
  width: auto;
  max-width: 300px;
  margin: 0 auto 18px;
  display: block;
  object-fit: contain;
}
body[data-path="login"] .page-card-head h4 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #0E1A26;
  margin: 0;
}

/* ---- Kart ---- */
body[data-path="login"] .login-content.page-card,
body[data-path="login"] .page-card {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 26px 26px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  box-shadow:
    0 1px 2px rgba(14, 26, 38, 0.05),
    0 14px 32px -10px rgba(14, 26, 38, 0.16),
    0 34px 66px -28px rgba(14, 26, 38, 0.2);
}

/* ---- Alanlar ---- */
body[data-path="login"] .form-control {
  height: auto;
  padding: 11px 14px;
  font-size: 14px;
  color: #0E1A26;
  background: #EFF4F7;
  border: 1px solid transparent;
  border-radius: 11px;
  box-shadow: none;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
/* ikonlu alanlarda ikona yer bırak */
body[data-path="login"] .email-field .form-control,
body[data-path="login"] .password-field .form-control {
  padding-left: 38px;
}
body[data-path="login"] .password-field .form-control { padding-right: 60px; }
body[data-path="login"] .form-control::placeholder { color: #9AA9B4; }
body[data-path="login"] .form-control:focus {
  background: #FFFFFF;
  border-color: #C96B3F;
  box-shadow: 0 0 0 3px rgba(201, 107, 63, 0.15);
  outline: none;
}
body[data-path="login"] .form-group { margin-bottom: 11px; }
body[data-path="login"] .field-icon { color: #8FA0AD; }
body[data-path="login"] .toggle-password {
  font-size: 12.5px;
  color: #6B7A88;
  cursor: pointer;
}
body[data-path="login"] .toggle-password:hover { color: #A5522C; }

/* ---- Butonlar ---- */
body[data-path="login"] .btn-login,
body[data-path="login"] .btn-forgot,
body[data-path="login"] .page-card .btn-primary {
  width: 100%;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #FFFFFF;
  background: #C96B3F;
  border: 0;
  border-radius: 11px;
  box-shadow: 0 6px 16px -6px rgba(201, 107, 63, 0.5);
  transition: background .15s ease, transform .08s ease, box-shadow .15s ease;
}
body[data-path="login"] .btn-login:hover,
body[data-path="login"] .btn-forgot:hover,
body[data-path="login"] .page-card .btn-primary:hover {
  background: #A5522C;
  box-shadow: 0 8px 20px -6px rgba(165, 82, 44, 0.55);
}
body[data-path="login"] .btn-login:active { transform: translateY(1px); }
body[data-path="login"] .btn-login:focus-visible,
body[data-path="login"] .btn-forgot:focus-visible {
  outline: 2px solid #A5522C;
  outline-offset: 2px;
}

/* ikincil seçenekler (e-posta bağlantısı, sosyal giriş, LDAP) */
body[data-path="login"] .btn-login-option,
body[data-path="login"] .btn-ldap-login,
body[data-path="login"] .page-card .btn-default {
  width: 100%;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 500;
  color: #0E1A26;
  background: #FFFFFF;
  border: 1px solid #E1E9EF;
  border-radius: 11px;
  box-shadow: none;
}
body[data-path="login"] .btn-login-option:hover,
body[data-path="login"] .page-card .btn-default:hover {
  background: #FBFDFE;
  border-color: #C9D6DE;
}
body[data-path="login"] .login-button-wrapper { margin-top: 8px; }

/* ---- Metinler ---- */
body[data-path="login"] .forgot-password-message {
  text-align: right;
  margin: 4px 0 14px;
  font-size: 12.5px;
}
body[data-path="login"] .page-card a { color: #6B7A88; text-decoration: none; }
body[data-path="login"] .page-card a:hover { color: #A5522C; }
body[data-path="login"] .login-divider {
  font-size: 11.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #9AA9B4;
  margin: 14px 0 8px;
}
body[data-path="login"] .sign-up-message {
  margin-top: 14px;
  font-size: 12.5px;
  color: #6B7A88;
}
body[data-path="login"] .sign-up-message a { color: #A5522C; font-weight: 500; }
body[data-path="login"] .page-card-actions { margin-top: 2px; }

/* ---- Küçük ekran ---- */
@media (max-width: 480px) {
  body[data-path="login"] .login-content.page-card,
  body[data-path="login"] .page-card { padding: 22px 18px 18px; border-radius: 15px; }
  body[data-path="login"] .page-card-head img,
  body[data-path="login"] .page-card-head .app-logo { height: 92px; max-height: 92px; }
  body[data-path="login"]::before { background-size: 460px 460px; }
  body[data-path="login"]::after {
    background: radial-gradient(58% 30% at 50% 46%,
        rgba(247,250,252,0.94) 0%, rgba(247,250,252,0.55) 52%, rgba(247,250,252,0) 82%);
  }
}
