/* Overlay e modal básicos */
.mirador-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 9998;
}

.mirador-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: min(420px, 92vw);
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 0 10px 40px rgba(0,0,0,.2);
  z-index: 9999;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.mirador-close {
  position: absolute;
  right: 10px;
  top: 10px;
  border: 0;
  background: transparent;
  font-size: 22px;
  cursor: pointer;
  color: #000;
}

.mirador-field { margin: 12px 0; }
.mirador-field label { display:block; font-size: 14px; margin-bottom: 6px; }
.mirador-field input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
}

.mirador-actions { margin-top: 14px; display: flex; gap: 8px; align-items: center; }

.mirador-btn {
  background: #0a66c2;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 600;
}
.mirador-btn[disabled] { opacity: .6; cursor: not-allowed; }

.mirador-btn-outline {
  background: transparent;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
}

.mirador-msg { min-height: 20px; font-size: 14px; color: #c00; margin-top: 8px; }
.mirador-msg.ok { color: #0a7b32; }

/* Acessibilidade visual */
.mirador-modal :focus {
  outline-offset: 2px;
}

/* Ocultos por padrão quando usamos o atributo hidden */
[hidden] { display: none !important; }

/* Estado padrão: fechado */
.mirador-overlay,
.mirador-modal {
  display: none;
}

/* Aberto */
.mirador-overlay.is-open {
  display: block;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 999999 !important; /* acima de headers fixos */
}

.mirador-modal.is-open {
  display: block;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1000000 !important; /* acima do overlay */
}