.flc-open {
    overflow: hidden !important;
}

.flc-overlay,
.flc-overlay * {
    box-sizing: border-box;
}

.flc-overlay[hidden] {
    display: none !important;
}

.flc-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.78);
}

.flc-dialog {
    width: min(680px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 28px;
    border: 3px solid #111827;
    border-radius: 16px;
    background: #ffffff;
    color: #111827;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
}

.flc-dialog h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(1.45rem, 4vw, 2rem);
    line-height: 1.2;
}

.flc-dialog p {
    margin: 0 0 16px;
    color: #111827;
    font-size: 1rem;
}

.flc-dialog strong {
    color: #000000;
}

.flc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.flc-button {
    min-height: 50px;
    padding: 12px 20px;
    border: 3px solid transparent;
    border-radius: 8px;
    color: #ffffff !important;
    font: 700 1rem/1.25 Arial, Helvetica, sans-serif;
    cursor: pointer;
}

.flc-accept {
    background: #08752c !important;
    border-color: #054d1e !important;
}

.flc-decline {
    background: #b42318 !important;
    border-color: #7a1710 !important;
}

.flc-button:hover {
    filter: brightness(0.88);
}

.flc-button:focus-visible {
    outline: 4px solid #facc15;
    outline-offset: 3px;
}

@media (max-width: 520px) {
    .flc-overlay { padding: 12px; }
    .flc-dialog { padding: 22px 18px; }
    .flc-actions { flex-direction: column; }
    .flc-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .flc-button { transition: none; }
}
