.modal-overlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: var(--core-z-index-modal); }
  .modal-overlay.hidden {
    display: none; }
  .modal-overlay .modal-content {
    background: var(--modal-bg);
    color: var(--modal-fg);
    padding: 2rem;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    width: 95%;
    max-width: 80rem;
    max-height: 95vh;
    max-height: 95dvh;
    overflow-y: auto; }
    .modal-overlay .modal-content .header h3 {
      margin-top: 0; }
    .modal-overlay .modal-content .header hr {
      margin: 1rem 0;
      background-color: var(--modal-hr-bg);
      height: 2px;
      border: 0; }
    .modal-overlay .modal-content .content {
      margin: 2rem 0; }
    .modal-overlay .modal-content .modal-buttons {
      margin-top: 1.5rem;
      display: flex;
      justify-content: center;
      gap: 2rem; }
      .modal-overlay .modal-content .modal-buttons button {
        padding: 0.5rem 1rem;
        border: none;
        border-radius: 4px;
        cursor: pointer; }
        .modal-overlay .modal-content .modal-buttons button.cancel {
          background: var(--modal-cancel-bg); }
        .modal-overlay .modal-content .modal-buttons button.confirm {
          background: var(--modal-confirm-bg);
          color: white; }
        .modal-overlay .modal-content .modal-buttons button:hover {
          filter: brightness(1.2); }

@media screen and (max-width: 768px) {
  .modal-overlay .modal-content .modal-buttons {
    flex-direction: column;
    gap: 0.5rem; } }
