/**
 * Modais padronizadas (mesmo padrão visual de Meus QSOs — classes mq-modal-*).
 */
:root {
    --mq-green: #3fb950;
    --mq-green-deep: #238636;
    --mq-muted: #8b949e;
}

.mq-modal-dialog {
    max-width: 28rem;
    margin: 0.75rem auto;
}

.mq-modal-dialog.modal-sm {
    max-width: 300px;
}

.mq-modal-dialog.modal-lg {
    max-width: 800px;
}

.mq-modal-dialog.modal-xl {
    max-width: 1140px;
}

.mq-modal-dialog--xs {
    max-width: 22rem;
}

.mq-modal-content {
    border: none;
    border-radius: 1.15rem;
    overflow: hidden;
    background: linear-gradient(165deg, #1a222c 0%, #0d1117 100%);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(63, 185, 80, 0.12);
    color: #e6edf3;
}

.mq-modal-content::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--mq-green-deep), var(--mq-green), transparent);
    opacity: 0.95;
}

.mq-modal-content--warn::before {
    background: linear-gradient(90deg, transparent, #f85149, #ffa657, transparent);
}

.mq-modal-content--warn {
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(248, 81, 73, 0.2);
}

.mq-modal-header {
    padding: 0.85rem 1rem 0.5rem;
    background: linear-gradient(135deg, rgba(35, 134, 54, 0.35) 0%, rgba(13, 17, 23, 0.2) 100%);
}

.mq-modal-content--warn .mq-modal-header {
    background: linear-gradient(135deg, rgba(218, 54, 51, 0.35) 0%, rgba(13, 17, 23, 0.25) 100%);
}

.mq-modal-headline {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.mq-modal-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(46, 160, 67, 0.35);
    border: 1px solid rgba(63, 185, 80, 0.45);
    color: #aff4c6;
    font-size: 1rem;
}

.mq-modal-icon--danger {
    background: rgba(248, 81, 73, 0.25);
    border-color: rgba(248, 81, 73, 0.5);
    color: #ffb4af;
}

.mq-modal-header .modal-title {
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #f0f6fc;
}

.mq-modal-body {
    padding: 0.65rem 1rem 0.85rem;
}

.mq-modal-footer {
    padding: 0.65rem 1rem 0.85rem;
    gap: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    background: rgba(0, 0, 0, 0.2);
}

.mq-btn-foot {
    flex: 1 1 auto;
    min-width: 6.5rem;
    font-weight: 700;
    border-radius: 0.65rem;
    padding: 0.5rem 0.75rem;
}

.mq-btn-foot--primary {
    flex: 1.35 1 auto;
}

.mq-modal-blurb {
    font-size: 0.88rem;
    color: #c9d1d9;
    line-height: 1.45;
}

/* Faixa de confirmação (dados automáticos do indicativo) — mesmo padrão Meus QSOs */
.mq-hint-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.35rem 0.5rem;
    border-radius: 0.55rem;
    background: rgba(46, 160, 67, 0.12);
    border: 1px solid rgba(63, 185, 80, 0.28);
}

.mq-hint-strip-text {
    font-size: 0.78rem;
    color: #c9d1d9;
    line-height: 1.35;
    min-width: 0;
}

.mq-modal-body input.form-control.mq-input-tight {
    min-height: 2.35rem;
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
}

.mq-modal-body textarea.form-control.mq-input-tight {
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
}

body.modal-open .modal-backdrop.show {
    opacity: 0.72;
}

/* Admin LGPD: manter respiro do layout antigo com o novo chrome */
#modalAvaliar .modal-header.mq-modal-header {
    padding: 1.1rem 1.35rem 0.65rem;
}
#modalAvaliar .modal-body.mq-modal-body.modal-avaliar-body {
    padding: 1.5rem 1.35rem 1.75rem;
}
#modalAvaliar .modal-footer.mq-modal-footer {
    padding: 1rem 1.35rem;
}
