body[frappe-session-status="logged-out"] .navbar.navbar-primary a[href="/about"],
body[frappe-session-status="logged-out"] .navbar.navbar-primary a[href="/leppayments"],
body[frappe-session-status="logged-out"] .navbar.navbar-primary a[href="None"],
body[frappe-session-status="logged-out"] .navbar.navbar-primary a[href="none"] {
  display: none !important;
}

body[data-path="login"] .navbar.navbar-primary,
body[data-path="login"] .web-footer,
body.ccms-flat-public-shell .navbar.navbar-primary,
body.ccms-flat-public-shell .web-footer {
  display: none !important;
}

body.ccms-flat-public-shell {
  min-height: 100vh;
  background: #f6f8fb;
  color: #172033;
}

body.ccms-flat-public-shell main.container,
body.ccms-flat-public-shell .page-content-wrapper {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.ccms-flat-public-shell .page-breadcrumbs,
body.ccms-flat-public-shell .page-header-wrapper,
body.ccms-flat-public-shell .page-footer {
  display: none !important;
}

body.ccms-flat-login #page-login {
  min-height: 100vh;
}

body.ccms-flat-login .page_content {
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
}

body.ccms-flat-login section.for-login {
  width: min(100%, 420px);
}

body.ccms-flat-login section:not(.for-login):not(.for-forgot):not(.for-login-with-email-link) {
  display: none;
}

body.ccms-flat-login .page-card-head {
  margin: 0 0 18px;
  padding: 0;
  text-align: center;
}

body.ccms-flat-login .page-card-head .app-logo {
  width: 54px;
  height: 54px;
  object-fit: contain;
  margin-bottom: 12px;
}

body.ccms-flat-login .page-card-head h4 {
  margin: 0;
  color: #172033;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.25;
}

body.ccms-flat-login .login-content.page-card {
  width: 100%;
  margin: 0;
  padding: 24px;
  border: 1px solid #d9e1ec;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

body.ccms-flat-login .page-card-body {
  padding: 0;
}

body.ccms-flat-login .form-group {
  margin-bottom: 14px;
}

body.ccms-flat-login .form-control {
  min-height: 44px;
  border-color: #b7c3d1;
  border-radius: 6px;
  color: #172033;
  background-color: #ffffff;
  box-shadow: none;
}

body.ccms-flat-login .form-control:focus {
  border-color: #0b5cab;
  box-shadow: 0 0 0 3px rgba(11, 92, 171, 0.18);
}

body.ccms-flat-login .page-card-actions {
  padding: 0;
}

body.ccms-flat-login .btn-login,
body.ccms-flat-login .btn-login-option {
  min-height: 42px;
  border-radius: 6px;
  font-weight: 600;
}

body.ccms-flat-login .btn-login {
  border-color: #0b5cab;
  background: #0b5cab;
  color: #ffffff;
}

body.ccms-flat-login .btn-login:hover,
body.ccms-flat-login .btn-login:focus {
  border-color: #084a8c;
  background: #084a8c;
  color: #ffffff;
}

body.ccms-flat-login .forgot-password-message {
  margin: 10px 0 18px;
  text-align: right;
}

body.ccms-flat-login .social-logins {
  margin-top: 18px;
}

body.ccms-flat-login .login-divider {
  margin: 16px 0;
  color: #64748b !important;
}

body.ccms-flat-update {
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
}

body.ccms-flat-update main.container,
body.ccms-flat-update .page_content,
body.ccms-flat-update .page-content {
  width: min(100%, 640px);
  margin: 0 auto;
}

body.ccms-flat-update .page_content,
body.ccms-flat-update .page-content {
  padding: 28px;
  border: 1px solid #d9e1ec;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

@media (max-width: 540px) {
  body.ccms-flat-login .page_content,
  body.ccms-flat-update {
    padding: 24px 12px;
  }

  body.ccms-flat-login .login-content.page-card,
  body.ccms-flat-update .page_content,
  body.ccms-flat-update .page-content {
    padding: 20px;
  }
}
