﻿/* SweetAlert2 v11 — TMS modern theme (no grid/centering overrides) */

:root {
    --swal-tms-backdrop: rgba(15, 23, 42, 0.52);
}

div:where(.swal2-container) {
    z-index: 20000 !important;
}

div:where(.swal2-container).swal2-backdrop-show {
    background: var(--swal-tms-backdrop) !important;
}

body.swal2-shown:not(.swal2-no-backdrop, .swal2-toast-shown) {
    overflow: hidden !important;
}

/* Undo legacy AGH.css positioning */
.swal2-popup,
.swal2-modal.swal2-popup {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 auto !important;
}

/* ---- Modal shell ---- */
div:where(.swal2-container) div:where(.swal2-popup).swal-tms:not(.swal2-toast),
div:where(.swal2-container) div:where(.swal2-popup):not(.swal2-toast) {
    width: 26em;
    max-width: calc(100vw - 2rem);
    font-family: "Segoe UI", Calibri, Tahoma, sans-serif;
    border-radius: 14px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.18),
        0 8px 16px rgba(15, 23, 42, 0.08) !important;
    padding: 0 0 1.35em !important;
    overflow: hidden;
    background: #fff !important;
    --swal2-icon-zoom: 0.82;
}

/* ---- Title: plain text under icon (never a gray banner) ---- */
.swal2-modal .swal2-title,
.swal2-popup .swal2-title,
div:where(.swal2-container) h2:where(.swal2-title) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #111827 !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    text-align: center !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 1.5em 0.35em !important;
}

.swal2-popup:not(.swal2-toast) .swal2-title:empty {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.swal2-title > u {
    text-decoration-line: inherit !important;
}

/* ---- Body ---- */
.swal2-content,
.swal2-html-container,
div:where(.swal2-container) div:where(.swal2-html-container) {
    padding: 0.15em 1.6em 0.5em !important;
    color: #4b5563 !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    text-align: center !important;
    font-weight: 400 !important;
}

.swal2-html-container .swal-lead {
    margin: 0 0 0.85em;
    color: #374151;
    font-size: 0.9375rem;
    line-height: 1.6;
    text-align: center;
}

.swal2-html-container .swal-detail {
    display: block;
    margin: 0 auto;
    padding: 0.65em 0.9em;
    max-width: 100%;
    background: #f8fafc;
    border: 1px solid #e5eaf0;
    border-radius: 8px;
    color: #64748b;
    font-size: 0.8125rem;
    line-height: 1.5;
    text-align: center;
    word-break: break-word;
}

/* ---- Icon (zoom only — fixed width/height breaks error X and success check) ---- */
.swal2-popup:not(.swal2-toast) .swal2-icon {
    margin: 1.1em auto 0.5em !important;
}

.swal2-icon.swal2-warning {
    color: #f59e0b !important;
    border-color: #fcd34d !important;
}

.swal2-icon.swal2-error {
    color: #ef4444 !important;
    border-color: #fca5a5 !important;
}

.swal2-icon.swal2-success {
    border-color: #86efac !important;
}

.swal2-icon.swal2-info,
.swal2-icon.swal2-question {
    border-color: #93c5fd !important;
}

/* ---- Buttons ---- */
div:where(.swal2-container) .swal2-actions {
    margin: 0.9em 0 0 !important;
    padding: 0 1.25em !important;
    gap: 0.5em;
    width: 100%;
    box-sizing: border-box;
}

.swal2-modal .swal2-styled,
.swal2-popup .swal2-styled,
div:where(.swal2-container) button:where(.swal2-styled) {
    font-family: "Segoe UI", Calibri, Tahoma, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 0.55em 1.75em !important;
    min-width: 5.5em;
    border-radius: 8px !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, transform 0.1s ease !important;
}

.swal2-modal .swal2-styled + .swal2-styled,
.swal2-popup .swal2-styled + .swal2-styled {
    margin-top: initial !important;
}

div:where(.swal2-container) button:where(.swal2-styled):focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(48, 133, 214, 0.28) !important;
}

div:where(.swal2-container) button:where(.swal2-styled):active {
    transform: translateY(1px);
}

div:where(.swal2-container) button:where(.swal2-confirm) {
    background-color: #2563eb !important;
}

div:where(.swal2-container) button:where(.swal2-confirm):hover {
    background-color: #1d4ed8 !important;
}

div:where(.swal2-container) button:where(.swal2-cancel) {
    background-color: #94a3b8 !important;
}

div:where(.swal2-container) button:where(.swal2-cancel):hover {
    background-color: #64748b !important;
}

div:where(.swal2-container) button:where(.swal2-deny) {
    background-color: #0d9488 !important;
}

div:where(.swal2-container) button:where(.swal2-deny):hover {
    background-color: #0f766e !important;
}

/* ---- Rich HTML (DMS errors, etc.) ---- */
.swal2-html-container details {
    margin-top: 0.75em;
    text-align: start;
}

.swal2-html-container details summary {
    color: #2563eb;
    font-weight: 600;
    cursor: pointer;
}

.swal2-html-container details summary:hover {
    color: #1d4ed8;
}

.swal2-html-container pre {
    border-radius: 8px !important;
    border-color: #e5eaf0 !important;
    background: #f8fafc !important;
}

/* ---- Legacy helpers ---- */
.d-font-special {
    font-family: Calibri !important;
}

.required-fields {
    font-size: 12px !important;
    color: #b51d1d;
    padding: 6px 10px;
    background-color: #f5e6e6;
    border: 1px solid #e8b4b4;
    border-radius: 4px;
    margin: 4px 6px;
    display: inline-block;
    min-width: 27%;
    max-width: 97%;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.45;
}

.swal2-popup.SpecialSweetAlert .required-fields {
    display: block;
    width: 97%;
    margin: 6px auto;
}
