html.saas-content-protected body {
    -webkit-user-select: none;
    user-select: none;
}

html.saas-content-protected input,
html.saas-content-protected textarea,
html.saas-content-protected select,
html.saas-content-protected [contenteditable="true"],
html.saas-content-protected [data-allow-copy],
html.saas-content-protected code,
html.saas-content-protected pre {
    -webkit-user-select: text;
    user-select: text;
}

.security-guard-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
}

.security-guard-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.security-guard-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .72);
    backdrop-filter: blur(10px);
}

.security-guard-card {
    position: relative;
    width: min(430px, 100%);
    padding: 30px;
    border: 1px solid rgba(239, 68, 68, .28);
    border-radius: 8px;
    background: var(--surface, #fff);
    color: var(--text, #0f172a);
    text-align: center;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .32);
}

.security-guard-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #dc2626;
    background: rgba(239, 68, 68, .10);
    border: 1px solid rgba(239, 68, 68, .22);
}

.security-guard-icon svg { width: 28px; height: 28px; }
.security-guard-kicker { margin: 0 0 8px; color: #dc2626; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.security-guard-card h2 { margin: 0; font: 750 21px/1.25 'Outfit', sans-serif; }
.security-guard-card > p:not(.security-guard-kicker) { margin: 10px 0 18px; color: var(--muted, #64748b); font-size: 12px; line-height: 1.6; }
.security-guard-note { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; padding: 11px 12px; border-radius: 7px; background: rgba(239, 68, 68, .06); color: var(--muted, #64748b); font-size: 10.5px; text-align: left; }
.security-guard-note svg { width: 16px; height: 16px; flex: 0 0 auto; color: #dc2626; }
.security-guard-card .button { width: 100%; justify-content: center; }

@media (max-width: 520px) {
    .security-guard-modal { padding: 12px; }
    .security-guard-card { padding: 24px 20px; }
}

@media print {
    body > * { display: none !important; }
    body::after { content: 'Impressao desabilitada nesta area protegida.'; display: block; padding: 40px; font: 700 18px sans-serif; }
}
