/* pm15nov — login Apple-like
   fraca #E5EAF4 · forte #001451 */

@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap");

:root {
  --pm-bg: #E5EAF4;
  --pm-ink: #001451;
  --pm-ink-soft: rgba(0, 20, 81, 0.62);
  --pm-line: rgba(0, 20, 81, 0.10);
  --pm-card: #ffffff;
  --pm-radius: 22px;
  --pm-pad: 40px;
  --pm-gap: 18px;
  --pm-font: "Outfit", "Helvetica Neue", Helvetica, sans-serif;
}

html,
body,
body.LoginScreen {
  margin: 0 !important;
  min-height: 100% !important;
  background: var(--pm-bg) !important;
  background-image:
    radial-gradient(1200px 600px at 50% -10%, rgba(255,255,255,0.85), transparent 60%),
    radial-gradient(900px 500px at 80% 110%, rgba(0,20,81,0.06), transparent 55%),
    linear-gradient(180deg, #eef2f8 0%, var(--pm-bg) 45%, #dfe6f2 100%) !important;
  font-family: var(--pm-font) !important;
  color: var(--pm-ink) !important;
  -webkit-font-smoothing: antialiased;
}

.LoginScreen {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px 16px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

.LoginScreen .center,
.LoginScreen .center-small {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  transform: none !important;
}

.LoginScreen .contentBox {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 36px var(--pm-pad) 32px !important;
  box-sizing: border-box !important;
  background: var(--pm-card) !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow:
    0 1px 2px rgba(0,20,81,0.04),
    0 18px 40px rgba(0,20,81,0.10),
    0 40px 80px rgba(0,20,81,0.06) !important;
  color: var(--pm-ink) !important;
}

/* Logo — sem caixa branca, medidas limpas */
.LoginScreen h1 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 0 !important;
}

.LoginScreen #bannerLink {
  display: block !important;
  margin: 0 auto 4px !important;
  width: 280px !important;
  max-width: 100% !important;
  height: 96px !important;
  text-decoration: none !important;
}

.LoginScreen .ImgLoginBanner,
.LoginScreen .ImgAppBanner {
  display: block !important;
  width: 280px !important;
  max-width: 100% !important;
  height: 96px !important;
  margin: 0 auto !important;
  background-color: transparent !important;
  background-image: url("/logos/LoginBanner.png?v=apple4") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  border: 0 !important;
  box-shadow: none !important;
}

#ZLoginAppName,
.LoginScreen #ZLoginAppName {
  display: none !important;
}

/* Form as stacked Apple fields */
.LoginScreen table.form {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-top: 20px !important;
}

.LoginScreen table.form tbody,
.LoginScreen table.form tr,
.LoginScreen table.form td {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.LoginScreen table.form tr {
  margin: 0 0 var(--pm-gap) !important;
}

.LoginScreen table.form td {
  padding: 0 !important;
  text-align: left !important;
  color: var(--pm-ink) !important;
}

.LoginScreen table.form label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  color: var(--pm-ink-soft) !important;
}

.LoginScreen input.zLoginField,
.LoginScreen select#client {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  color: var(--pm-ink) !important;
  font-family: var(--pm-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: inset 0 1px 1px rgba(0,20,81,0.03) !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
  -webkit-appearance: none !important;
}

.LoginScreen input.zLoginField:focus,
.LoginScreen select#client:focus {
  background: #fff !important;
  border-color: rgba(0,20,81,0.35) !important;
  box-shadow: 0 0 0 4px rgba(0,20,81,0.10) !important;
}

/* Remember + Login row */
.LoginScreen td.submitTD {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  margin-top: 6px !important;
}

.LoginScreen td.submitTD label {
  display: inline !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--pm-ink-soft) !important;
}

.LoginScreen #remember {
  width: 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
  accent-color: var(--pm-ink) !important;
}

.LoginScreen input.ZLoginButton,
.LoginScreen .ZLoginButton,
.LoginScreen input[type="submit"].ZLoginButton {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--pm-ink) !important;
  color: #fff !important;
  font-family: var(--pm-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(0,20,81,0.22) !important;
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease !important;
}

.LoginScreen input.ZLoginButton:hover,
.LoginScreen .ZLoginButton:hover {
  opacity: 0.96 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0,20,81,0.26) !important;
}

.LoginScreen input.ZLoginButton:active {
  transform: translateY(0) !important;
}

/* Version quiet */
.LoginScreen table.form hr { display:none !important; }
.LoginScreen label[for="client"] {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--pm-ink-soft) !important;
  margin-top: 8px !important;
}



.LoginScreen td.submitTD > input#remember,
.LoginScreen td.submitTD > label[for="remember"] {
  display: inline !important;
  width: auto !important;
}
.LoginScreen td.submitTD {
  position: relative !important;
}
.LoginScreen select#client {
  margin-top: 4px !important;
  height: 42px !important;
  font-size: 14px !important;
  opacity: 0.85 !important;
}

.LoginScreen #ZLoginWhatsThisAnchor,
.LoginScreen #ZLoginWhatsThis {
  display: none !important;
}

.LoginScreen #ZLoginErrorPanel {
  margin: 0 0 16px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: #fff1f0 !important;
  border: 1px solid #ffd4d1 !important;
  color: #8a1f1a !important;
  font-size: 13px !important;
}

.LoginScreen #ZLoginErrorPanel table,
.LoginScreen #ZLoginErrorPanel tr,
.LoginScreen #ZLoginErrorPanel td {
  display: table !important;
  width: auto !important;
}

.LoginScreen #ZLoginNotice,
.Decorated {
  color: var(--pm-ink-soft) !important;
  font-size: 12px !important;
  text-align: center !important;
  margin-top: 18px !important;
}

.LoginScreen a {
  color: var(--pm-ink) !important;
}

/* Top bar inside app (keep soft) */
#skin_container_app_row_top,
#skin_tr_top,
#skin_spacing_top,
#skin_border_top,
#skin_container_logo,
.ZmToolBar,
.ZToolbar {
  background: var(--pm-bg) !important;
  background-color: var(--pm-bg) !important;
}

@media (max-width: 480px) {
  .LoginScreen .contentBox {
    padding: 28px 22px 24px !important;
    border-radius: 18px !important;
  }
  .LoginScreen #bannerLink,
  .LoginScreen .ImgLoginBanner {
    width: 240px !important;
    height: 84px !important;
  }
}

/* Hide Zimbra/Synacor footer on login */
.LoginScreen .Footer,
.LoginScreen .Footer-small,
.LoginScreen #ZLoginNotice,
.LoginScreen .copyright,
.LoginScreen .legalNotice-small {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
