declare const MODAL_CSS = "\n/* Overlay */\n.consent-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10000;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n}\n\n/* Modal container */\n.consent-modal {\n position: relative;\n background: var(--consent-modal-bg, #ffffff);\n color: var(--consent-modal-text, #1a1a1a);\n border-radius: 8px;\n max-width: 600px;\n width: 100%;\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);\n font-family: var(--consent-font, system-ui, -apple-system, sans-serif);\n}\n\n/* Header */\n.consent-modal__header {\n padding: 1.5rem 3rem 1.5rem 1.5rem;\n border-bottom: 1px solid var(--consent-modal-border, #e0e0e0);\n}\n\n.consent-modal__title {\n margin: 0 0 0.5rem;\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.consent-modal__description {\n margin: 0;\n font-size: 0.875rem;\n color: var(--consent-modal-text-secondary, #666666);\n line-height: 1.5;\n}\n\n/* Close button */\n.consent-modal__close {\n position: absolute;\n top: 1rem;\n right: 1rem;\n background: transparent;\n border: none;\n font-size: 1.5rem;\n color: var(--consent-modal-text-secondary, #666666);\n cursor: pointer;\n padding: 0.25rem;\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n line-height: 1;\n}\n\n.consent-modal__close:hover {\n background: var(--consent-modal-border, #e0e0e0);\n}\n\n/* Body with categories */\n.consent-modal__body {\n padding: 1.5rem;\n overflow-y: auto;\n flex: 1;\n}\n\n.consent-modal__category {\n margin-bottom: 1.5rem;\n padding-bottom: 1.5rem;\n border-bottom: 1px solid var(--consent-modal-border, #e0e0e0);\n}\n\n.consent-modal__category:last-child {\n margin-bottom: 0;\n padding-bottom: 0;\n border-bottom: none;\n}\n\n.consent-modal__category-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n}\n\n.consent-modal__category-name {\n font-size: 1rem;\n font-weight: 600;\n margin: 0;\n}\n\n.consent-modal__category-description {\n margin: 0;\n font-size: 0.875rem;\n color: var(--consent-modal-text-secondary, #666666);\n line-height: 1.5;\n}\n\n/* Toggle switch */\n.consent-toggle {\n position: relative;\n display: inline-block;\n width: 48px;\n height: 24px;\n flex-shrink: 0;\n}\n\n.consent-toggle__input {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n}\n\n.consent-toggle__slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--consent-toggle-bg-off, #cccccc);\n border-radius: 24px;\n transition: background-color 0.3s;\n}\n\n.consent-toggle__slider::before {\n position: absolute;\n content: \"\";\n height: 18px;\n width: 18px;\n left: 3px;\n bottom: 3px;\n background-color: white;\n border-radius: 50%;\n transition: transform 0.3s;\n}\n\n.consent-toggle__input:checked + .consent-toggle__slider {\n background-color: var(--consent-toggle-bg-on, #0066cc);\n}\n\n.consent-toggle__input:checked + .consent-toggle__slider::before {\n transform: translateX(24px);\n}\n\n.consent-toggle__input:disabled + .consent-toggle__slider {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Footer */\n.consent-modal__footer {\n padding: 1.5rem;\n border-top: 1px solid var(--consent-modal-border, #e0e0e0);\n display: flex;\n gap: 0.75rem;\n justify-content: flex-end;\n}\n\n.consent-modal__btn {\n padding: 0.625rem 1.25rem;\n font-size: 0.875rem;\n font-weight: 500;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n.consent-modal__btn:hover {\n opacity: 0.9;\n}\n\n.consent-modal__btn--save {\n background: var(--consent-btn-accept-bg, #0066cc);\n color: var(--consent-btn-accept-text, #ffffff);\n}\n\n.consent-modal__btn--accept-all {\n background: transparent;\n color: var(--consent-link, #0066cc);\n border: 1px solid currentColor;\n}\n\n/* Transitions */\n.consent-modal-enter-active,\n.consent-modal-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.consent-modal-enter-active .consent-modal,\n.consent-modal-leave-active .consent-modal {\n transition: transform 0.3s ease;\n}\n\n.consent-modal-enter-from,\n.consent-modal-leave-to {\n opacity: 0;\n}\n\n.consent-modal-enter-from .consent-modal,\n.consent-modal-leave-to .consent-modal {\n transform: scale(0.95);\n}\n\n/* Dark mode */\n@media (prefers-color-scheme: dark) {\n .consent-modal-overlay {\n --consent-modal-bg: #1a1a1a;\n --consent-modal-text: #ffffff;\n --consent-modal-text-secondary: #a0a0a0;\n --consent-modal-border: #333333;\n --consent-toggle-bg-off: #444444;\n }\n}\n\n/* Mobile responsiveness */\n@media (max-width: 640px) {\n .consent-modal {\n max-width: 100%;\n max-height: 100vh;\n border-radius: 0;\n }\n\n .consent-modal__footer {\n flex-direction: column;\n }\n\n .consent-modal__btn {\n width: 100%;\n }\n}\n\n/* Focus styles for accessibility */\n.consent-modal__close:focus-visible,\n.consent-toggle__input:focus-visible + .consent-toggle__slider,\n.consent-modal__btn:focus-visible {\n outline: 2px solid var(--consent-link, #0066cc);\n outline-offset: 2px;\n}\n"; /** Raw CSS string for consumers with strict CSP */ export { MODAL_CSS as consentModalCSS }; /** Inject preference center modal CSS into document head (idempotent, SSR-safe) */ export declare function injectModalStyles(): void;