.cox-ui-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 16px;
    overflow: hidden;
}

.cox-ui-modal[hidden] { display: none; }

.cox-ui-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.cox-ui-modal-panel {
    position: relative;
    width: min(var(--cox-modal-width, 980px), 100%);
    min-width: 0;
    max-height: calc(100dvh - 32px);
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--cox-brand-border);
    border-radius: 8px;
    background: rgba(13, 16, 20, .94);
    color: var(--cox-brand-white);
    padding: 28px;
    scrollbar-width: thin;
    scrollbar-color: rgba(237, 28, 36, .55) transparent;
}

.cox-ui .cox-ui-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
}

.cox-ui-modal-panel > p:first-of-type {
    margin: 0 46px 8px 0;
    color: var(--cox-brand-red);
    font: 800 11px/1.5 var(--cox-brand-body);
    letter-spacing: 0;
    text-transform: uppercase;
}

.cox-ui-modal-panel > h2 {
    margin: 0 42px 22px 0;
    font: 700 32px/1.15 var(--cox-brand-heading);
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.cox-ui-modal-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.cox-ui-modal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 640px) {
    .cox-ui-modal { padding: 8px; }
    .cox-ui-modal-panel { max-height: calc(100dvh - 16px); padding: 20px 16px; }
    .cox-ui-modal-panel > h2 { font-size: 26px; }
    .cox-ui-modal-fields { grid-template-columns: minmax(0, 1fr); }
    .cox-ui-modal-actions { flex-direction: column-reverse; align-items: stretch; }
    .cox-ui-modal-actions > .cox-ui-button { width: 100%; }
}
