/* ── MODAL ── */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.75);
  display: none; align-items: center; justify-content: center;
  z-index: 100; backdrop-filter: blur(6px); padding: 20px;
}

/* ── CONTEXT MENU ── */
.context-menu {
  position: absolute;
  background: #18181f;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
  z-index: 9999;
  display: none;
  min-width: 160px;
}
.context-menu-item {
  padding: 10px 14px;
  cursor: pointer;
  color: var(--text);
  font-size: 13px;
  font-family: 'Syne', sans-serif;
  font-weight: 600;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background 0.15s, color 0.15s;
}
.context-menu-item:hover {
  background: var(--accent-glow);
  color: var(--accent2);
}

.modal-overlay.open { display: flex; }
.confirm-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.62);
  display: flex; align-items: center; justify-content: center;
  z-index: 240; padding: 18px;
}
.confirm-modal {
  width: min(420px, 100%);
  background: #111118;
  border: 1px solid var(--border2);
  border-radius: 20px;
  padding: 24px 24px 20px;
  box-shadow: 0 28px 80px rgba(0,0,0,0.45);
}
.confirm-title {
  font-family: 'Syne', sans-serif;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 12px;
  color: var(--text);
}
.confirm-text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text2);
  margin-bottom: 22px;
}
.confirm-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.modal {
  background: #111118; border: 1px solid var(--border2);
  border-radius: 18px; width: 100%; max-width: 680px;
  max-height: 90vh; overflow-y: auto;
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
}
/* ── DETAIL MODAL COM CAPA FULLSCREEN ── */
.modal-overlay.has-cover {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: none !important;
}

/* Ambient blur fill for modal overlay */
.modal-cover-fill { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.modal-cover-blur {
  position: absolute; inset: -20px;
  background-size: 220%; background-position: center;
  filter: blur(24px) saturate(1.2);
  opacity: 0.9;
}
.modal-cover-sharp { position: absolute; inset: 0; background-size: cover; background-position: center; }

.modal-overlay.has-cover::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.50) 0%,
    rgba(0,0,0,0.25) 25%,
    rgba(0,0,0,0.70) 65%,
    rgba(0,0,0,0.92) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.modal-overlay.has-cover .modal {
  position: relative;
  z-index: 2;
  background: rgba(6, 6, 14, 0.38);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 30px 80px rgba(0,0,0,0.75);
}

.modal-header { padding: 24px 28px 0; display: flex; justify-content: space-between; align-items: flex-start; }
.modal-header h2 { font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800; flex: 1; padding-right: 16px; }
.modal-close {
  width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--border);
  background: #18181f; color: var(--text2); cursor: pointer;
  display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0;
}
.modal-close:hover { background: var(--border); color: var(--text); }
.modal-body { padding: 20px 28px 28px; }
.form-actions.settings-footer { margin: 0; padding: 16px 28px 28px; border-top: 1px solid var(--border); }

