/* DataMarcada — Auth Modal canônico (estilos)
 * Customize via CSS custom properties no :root do produto:
 *   :root { --dmauth-primary: #3d5a42; --dmauth-primary-dark: #2c4130; }
 */
:root {
  --dmauth-primary: #3d5a42;
  --dmauth-primary-dark: #2c4130;
  --dmauth-text: #111827;
  --dmauth-text-light: #6b7280;
  --dmauth-border: #e5e7eb;
  --dmauth-err: #dc2626;
  --dmauth-ok: #059669;
}

.dmauth-modal {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9999;
  align-items: center; justify-content: center;
  padding: 16px;
}
.dmauth-modal.dmauth-open { display: flex; }
.dmauth-box {
  background: #fff; border-radius: 16px;
  width: 100%; max-width: 440px;
  padding: 28px 24px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto; overflow-x: hidden;  /* nunca scroll horizontal */
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  box-sizing: border-box;
}
.dmauth-box * { box-sizing: border-box; max-width: 100%; }
.dmauth-close {
  position: absolute; top: 12px; right: 14px;
  background: transparent; border: none;
  font-size: 22px; color: #9ca3af; cursor: pointer;
  width: 32px; height: 32px; line-height: 1;
}
.dmauth-close:hover { color: #374151; }
.dmauth-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px; font-weight: 600; color: var(--dmauth-primary-dark);
  text-align: center; margin-bottom: 6px;
}
.dmauth-sub {
  font-size: 13px; color: var(--dmauth-text-light);
  text-align: center; margin-bottom: 18px;
}
.dmauth-field { margin-bottom: 14px; display: flex; flex-direction: column; }
.dmauth-field label {
  font-size: 12px; font-weight: 600; color: var(--dmauth-text);
  margin-bottom: 6px;
}
.dmauth-field input,
.dmauth-field select {
  border: 1.5px solid var(--dmauth-border);
  border-radius: 10px; padding: 11px 14px;
  font-size: 14px; font-family: inherit; color: var(--dmauth-text);
  transition: border-color .15s;
}
.dmauth-field input:focus,
.dmauth-field select:focus {
  outline: none; border-color: var(--dmauth-primary);
}
.dmauth-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dmauth-row .dmauth-field { margin-bottom: 14px; min-width: 0; }
.dmauth-row .dmauth-field input,
.dmauth-row .dmauth-field select { min-width: 0; width: 100%; }
@media (max-width: 480px) {
  .dmauth-row { grid-template-columns: 1fr; }
  .dmauth-box { padding: 22px 18px; }
}

.dmauth-btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 12px 16px;
  border-radius: 10px; border: none;
  font-size: 14px; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: background .15s, opacity .15s;
  margin-top: 4px;
}
.dmauth-btn:disabled { opacity: .5; cursor: not-allowed; }
.dmauth-btn-primary {
  background: var(--dmauth-primary); color: #fff;
}
.dmauth-btn-primary:hover:not(:disabled) { background: var(--dmauth-primary-dark); }
.dmauth-btn-sm { padding: 9px 14px; font-size: 13px; width: auto; }
.dmauth-btn-google {
  background: #fff; color: var(--dmauth-text);
  border: 1.5px solid var(--dmauth-border); gap: 8px;
}
.dmauth-btn-google:hover { background: #f9fafb; }
.dmauth-btn-google img { height: 18px; }

.dmauth-link {
  display: block; width: 100%;
  background: transparent; border: none;
  color: var(--dmauth-primary); font-size: 13px; font-weight: 600;
  text-align: center; padding: 8px 0; margin-top: 6px;
  cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}
.dmauth-link:hover { color: var(--dmauth-primary-dark); }

.dmauth-divider {
  display: flex; align-items: center; gap: 12px;
  margin: 16px 0; color: var(--dmauth-text-light);
  font-size: 12px; text-transform: uppercase; letter-spacing: 1px;
}
.dmauth-divider::before,
.dmauth-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--dmauth-border);
}
.dmauth-divider:empty { margin: 16px 0; }
.dmauth-divider:empty::before,
.dmauth-divider:empty::after { flex: 1; }

.dmauth-footer-label {
  text-align: center; font-size: 13px; font-weight: 600;
  color: var(--dmauth-text); margin-bottom: 4px;
}

.dmauth-msg {
  margin-top: 12px; padding: 10px 14px;
  border-radius: 8px; font-size: 13px;
  display: none;
}
.dmauth-msg-err {
  display: block;
  background: #fee2e2; color: var(--dmauth-err);
}
.dmauth-msg-ok {
  display: block;
  background: #d1fae5; color: var(--dmauth-ok);
}

.dmauth-code-wrap { display: flex; gap: 8px; }
.dmauth-code-input {
  flex: 1; text-align: center; letter-spacing: 6px;
  font-size: 18px; font-weight: 700;
}

.dmauth-brand-footer {
  margin-top: 18px; padding-top: 14px;
  border-top: 1px solid var(--dmauth-border);
  text-align: center; font-size: 12px;
  color: var(--dmauth-text-light); letter-spacing: 0.3px;
}
.dmauth-brand-footer a {
  color: var(--dmauth-primary); font-weight: 700;
  text-decoration: none;
}
.dmauth-brand-footer a:hover { text-decoration: underline; }
