/* Acesso Dooki Empresas — simples, escuro e consistente com o produto. */
:root {
  --login-bg:#07090a;
  --login-card:#0d1011;
  --login-input:#151819;
  --login-line:rgba(255,255,255,.09);
  --login-text:#f4f6f0;
  --login-muted:#8e958f;
  --login-lime:#c8f135;
  --login-lime-hover:#d8ff4d;
}

body.establishment-login-body {
  min-height:100svh !important;
  margin:0 !important;
  color:var(--login-text) !important;
  background:
    radial-gradient(circle at 50% 0,rgba(200,241,53,.055),transparent 28%),
    var(--login-bg) !important;
  font-family:Manrope,system-ui,sans-serif !important;
}

.establishment-login-v2-shell {
  width:100% !important;
  min-height:100svh !important;
  padding:32px 20px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  place-items:center !important;
  background:transparent !important;
}

.establishment-login-showcase { display:none !important; }
.establishment-login-access {
  width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.establishment-login-card-v2,
.establishment-reset-card {
  width:min(420px,100%) !important;
  max-width:420px !important;
  margin:0 auto !important;
  padding:34px 34px 28px !important;
  border:1px solid var(--login-line) !important;
  border-radius:14px !important;
  color:var(--login-text) !important;
  background:linear-gradient(145deg,#101314,#0b0d0e) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.42) !important;
}

.mobile-login-logo,
.establishment-reset-brand {
  width:96px !important;
  margin:0 auto 25px !important;
  display:block !important;
}
.mobile-login-logo img,
.establishment-reset-brand img {
  width:100% !important;
  content:url('/assets/dooki-logo-lime.svg');
}

.establishment-login-card-v2 > header { text-align:center !important; }
.establishment-login-card-v2 > header::before { display:none !important; }
.establishment-login-card-v2 > header h2,
.establishment-reset-card > header h2 {
  margin:0 !important;
  color:var(--login-text) !important;
  font:700 24px/1.25 Manrope,sans-serif !important;
  letter-spacing:-.035em !important;
}
.establishment-login-card-v2 > header p,
.establishment-reset-card > header p {
  margin:8px auto 0 !important;
  color:var(--login-muted) !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

.establishment-login-form-v2 {
  margin-top:26px !important;
  display:grid !important;
  gap:16px !important;
}
.establishment-login-form-v2 > label {
  margin:0 !important;
  display:grid !important;
  gap:7px !important;
}
.establishment-login-form-v2 > label > span {
  color:#cbd0ca !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.establishment-login-form-v2 label > div {
  position:relative !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  border:1px solid var(--login-line) !important;
  border-radius:8px !important;
  background:var(--login-input) !important;
  transition:border-color .16s,box-shadow .16s !important;
}
.establishment-login-form-v2 label > div:focus-within {
  border-color:rgba(200,241,53,.55) !important;
  box-shadow:0 0 0 3px rgba(200,241,53,.07) !important;
}
.establishment-login-form-v2 label div > b {
  width:43px !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  color:#777e78 !important;
  background:transparent !important;
}
.establishment-login-form-v2 label div > b svg {
  width:17px !important;
  height:17px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}
.establishment-login-form-v2 input:not([type="checkbox"]) {
  min-width:0 !important;
  height:100% !important;
  padding:0 13px 0 0 !important;
  color:var(--login-text) !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:13px !important;
}
.establishment-login-form-v2 input::placeholder { color:#666d67 !important; }

.establishment-password-toggle {
  margin-right:8px !important;
  padding:7px !important;
  border:0 !important;
  color:var(--login-muted) !important;
  background:transparent !important;
  font-size:10px !important;
}
.establishment-password-toggle:hover { color:var(--login-lime) !important; }

.establishment-login-options {
  margin:-2px 0 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
}
.establishment-login-options label {
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  color:var(--login-muted) !important;
  font-size:10px !important;
}
.establishment-login-options input { width:14px !important; height:14px !important; accent-color:var(--login-lime) !important; }
.establishment-login-options a,
.establishment-reset-back-link {
  color:var(--login-lime) !important;
  font-size:10px !important;
  font-weight:700 !important;
}
.establishment-login-options a:hover,
.establishment-reset-back-link:hover { color:var(--login-lime-hover) !important; }

.establishment-login-submit-v2 {
  width:100% !important;
  min-height:48px !important;
  margin:2px 0 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  border:1px solid var(--login-lime) !important;
  border-radius:8px !important;
  color:#080a09 !important;
  background:var(--login-lime) !important;
  box-shadow:0 10px 25px rgba(200,241,53,.1) !important;
  font-size:12px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  transition:background .16s,transform .16s !important;
}
.establishment-login-submit-v2:hover:not(:disabled) {
  background:var(--login-lime-hover) !important;
  transform:translateY(-1px) !important;
}
.establishment-login-submit-v2 svg { width:16px !important; height:16px !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important; }
.establishment-login-submit-v2:disabled { opacity:.62 !important; cursor:wait !important; transform:none !important; }

.establishment-login-error-v2 {
  margin:0 !important;
  padding:11px 12px !important;
  border:1px solid rgba(255,98,90,.22) !important;
  border-radius:8px !important;
  color:#ff8b84 !important;
  background:rgba(255,98,90,.075) !important;
  font-size:11px !important;
  line-height:1.5 !important;
}
.establishment-login-error-v2.is-success {
  color:#b9f66d !important;
  border-color:rgba(200,241,53,.22) !important;
  background:rgba(200,241,53,.075) !important;
}

.establishment-login-owner-note {
  margin:20px 0 0 !important;
  padding:17px 0 0 !important;
  border-top:1px solid var(--login-line) !important;
  color:var(--login-muted) !important;
  font-size:10px !important;
  text-align:center !important;
}
.establishment-login-owner-note span,
.establishment-login-owner-note strong { display:inline !important; }
.establishment-login-owner-note strong { margin-left:4px; color:#c4c9c4 !important; }
.establishment-login-card-v2 > footer { display:none !important; }

.establishment-reset-shell {
  width:100% !important;
  min-height:100svh !important;
  padding:32px 20px !important;
  display:grid !important;
  place-items:center !important;
  background:transparent !important;
}
.establishment-reset-card { padding-top:31px !important; }

@media (max-width:520px) {
  .establishment-login-v2-shell,
  .establishment-reset-shell { padding:14px !important; }
  .establishment-login-card-v2,
  .establishment-reset-card { padding:28px 22px 24px !important; border-radius:12px !important; }
  .establishment-login-card-v2 > header h2,
  .establishment-reset-card > header h2 { font-size:22px !important; }
}
