/* Skrinium application styles — extracted from base.html */
        .feature-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--bs-primary-bg-subtle);
            border: 1px solid var(--bs-primary-border-subtle);
        }
        
        .feature-icon i {
            color: var(--bs-primary);
        }
        
        .card {
            transition: transform 0.2s ease-in-out;
        }
        
        .card:hover {
            transform: translateY(-2px);
        }
        
        .navbar-brand {
            font-weight: 600;
        }
        
        .alert {
            border: none;
        }
        
        /* ========================================
           SISTEMA CENTRALIZZATO PER TUTTI I MODAL
           Garantisce che ogni dialog sia sempre centrato e ben visibile
           ======================================== */
        
        /* Configurazione base per tutti i modal */
        .modal {
            z-index: 1055 !important;
            display: none !important;
        }
        
        .modal.show {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }
        
        .modal-backdrop {
            z-index: 1050 !important;
            background-color: rgba(0, 0, 0, 0.6) !important;
        }
        
        .modal-backdrop.show {
            opacity: 0.6 !important;
        }
        
        /* Centramento tramite flexbox - NON usare top/transform */
        .modal-dialog {
            margin: 0 !important;
            max-width: min(90vw, 500px) !important;
            position: relative !important;
        }
        
        .modal-dialog-lg {
            max-width: min(90vw, 800px) !important;
        }
        
        .modal-dialog-sm {
            max-width: min(90vw, 350px) !important;
        }
        
        /* Contenuto modal ottimizzato */
        .modal-content {
            border: none !important;
            border-radius: 0.75rem !important;
            box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.3) !important;
            backdrop-filter: blur(10px) !important;
            background-color: var(--bs-body-bg, rgba(255, 255, 255, 0.98)) !important;
            max-height: calc(100vh - 2rem) !important;
            display: flex !important;
            flex-direction: column !important;
        }
        
        /* Header modal */
        .modal-header {
            border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.125)) !important;
            border-radius: 0.75rem 0.75rem 0 0 !important;
            padding: 1rem 1.5rem !important;
            flex-shrink: 0 !important;
        }
        
        /* Body modal con scroll */
        .modal-body {
            padding: 1.5rem !important;
            overflow-y: auto !important;
            flex: 1 1 auto !important;
        }
        
        /* Footer modal */
        .modal-footer {
            border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.125)) !important;
            border-radius: 0 0 0.75rem 0.75rem !important;
            padding: 1rem 1.5rem !important;
            flex-shrink: 0 !important;
        }
        
        /* Animazioni fluide - senza transform per evitare conflitti con flexbox */
        .modal.fade .modal-dialog {
            transition: opacity 0.3s ease-out !important;
            opacity: 0 !important;
        }
        
        .modal.show .modal-dialog {
            opacity: 1 !important;
        }
        
        /* Design responsive per dispositivi mobili */
        @media (max-width: 768px) {
            .modal-dialog {
                max-width: calc(100vw - 1rem) !important;
            }
            
            .modal-body {
                padding: 1rem !important;
            }
            
            .modal-header,
            .modal-footer {
                padding: 1rem !important;
            }
        }
        
        @media (max-width: 576px) {
            .modal-dialog {
                max-width: calc(100vw - 0.5rem) !important;
            }
        }
        
        /* Accessibilità migliorata */
        .modal-content:focus {
            outline: 2px solid var(--bs-primary) !important;
            outline-offset: 2px !important;
        }
        
        /* Stili per diversi tipi di modal */
        .modal-header.bg-danger {
            background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
            color: white !important;
        }
        
        .modal-header.bg-primary {
            background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%) !important;
            color: white !important;
        }
        
        .modal-header.bg-warning {
            background: linear-gradient(135deg, #ffc107 0%, #ffb000 100%) !important;
            color: #212529 !important;
        }
        
        .modal-header.bg-success {
            background: linear-gradient(135deg, #198754 0%, #146c43 100%) !important;
            color: white !important;
        }
        
        /* Correzione per bottoni close */
        .btn-close-white {
            filter: invert(1) grayscale(100%) brightness(200%) !important;
        }
        
        /* Prevent body scroll when modal is open */
        body.modal-open {
            overflow: hidden !important;
            padding-right: 0 !important;
        }
        
        /* Smooth scrollbar per modal body */
        .modal-body::-webkit-scrollbar {
            width: 6px;
        }
        
        .modal-body::-webkit-scrollbar-track {
            background: rgba(0, 0, 0, 0.1);
            border-radius: 3px;
        }
        
        .modal-body::-webkit-scrollbar-thumb {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 3px;
        }
        
        .modal-body::-webkit-scrollbar-thumb:hover {
            background: rgba(0, 0, 0, 0.5);
        }
        
        /* Custom scrollbar styles for document history */
        .document-history-scroll::-webkit-scrollbar {
            width: 6px;
        }

        .document-history-scroll::-webkit-scrollbar-track {
            background: transparent;
        }

        .document-history-scroll::-webkit-scrollbar-thumb {
            background: #007bff;
            border-radius: 3px;
        }

        .document-history-scroll::-webkit-scrollbar-thumb:hover {
            background: #0056b3;
        }
        
        .btn {
            border-radius: 8px;
            font-weight: 500;
        }
        
        .form-control, .form-select {
            border-radius: 8px;
        }
        
        .timeline-item {
            position: relative;
            padding-left: 3rem;
            margin-bottom: 2rem;
        }
        
        .timeline-item::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--bs-primary);
        }
        
        .timeline-item::after {
            content: '';
            position: absolute;
            left: 5px;
            top: 12px;
            width: 2px;
            height: calc(100% + 1rem);
            background: var(--bs-border-color);
        }
        
        .timeline-item:last-child::after {
            display: none;
        }
        
        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1rem;
            border-radius: 2rem;
            font-size: 0.875rem;
            font-weight: 500;
        }
        
        .status-badge.status-active {
            background: rgba(25, 135, 84, 0.1);
            color: var(--bs-success);
            border: 1px solid rgba(25, 135, 84, 0.2);
        }
        
        .status-badge.status-pending {
            background: rgba(255, 193, 7, 0.1);
            color: var(--bs-warning);
            border: 1px solid rgba(255, 193, 7, 0.2);
        }
        
        .status-badge.status-inactive {
            background: rgba(220, 53, 69, 0.1);
            color: var(--bs-danger);
            border: 1px solid rgba(220, 53, 69, 0.2);
        }
        
        /* Modal backdrop fixes - posizione solo per backdrop */
        .modal-backdrop {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            width: 100vw !important;
            height: 100vh !important;
            z-index: 1050 !important;
        }
        
        /* ========================================
           THEME TOGGLE STYLES
           ======================================== */
        
        /* Theme toggle button */
        #theme-toggle {
            padding: 0;
            border: none;
            background: transparent;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            color: var(--bs-body-color);
            opacity: 0.7;
            margin-left: 1rem;
            flex-shrink: 0;
        }
        
        #theme-toggle:hover {
            opacity: 1;
            background-color: rgba(0, 0, 0, 0.05);
        }
        
        #theme-toggle:focus {
            outline: none;
            box-shadow: none;
        }
        
        [data-bs-theme="dark"] #theme-toggle:hover {
            background-color: rgba(255, 255, 255, 0.1);
        }
        
        @media (max-width: 991.98px) {
            #theme-toggle {
                margin-left: 0;
                margin-top: 0.5rem;
            }
        }
        
        /* Light theme - ensure navbar links are visible */
        .navbar .nav-link {
            color: #212529 !important;
            font-weight: 500 !important;
        }
        
        .navbar .nav-link:hover {
            color: #0d6efd !important;
            background-color: rgba(13, 110, 253, 0.1) !important;
            border-radius: 8px !important;
        }
        
        .navbar .navbar-brand {
            color: #212529 !important;
        }
        
        /* Improved visibility for outline buttons in light mode */
        [data-bs-theme="light"] .btn-outline-primary,
        .btn-outline-primary {
            border: 2px solid #0d6efd !important;
            color: #0d6efd !important;
        }
        
        [data-bs-theme="light"] .btn-outline-primary:hover,
        .btn-outline-primary:hover {
            background-color: #0d6efd !important;
            color: #ffffff !important;
        }
        
        [data-bs-theme="light"] .btn-outline-secondary,
        .btn-outline-secondary {
            border: 2px solid #495057 !important;
            color: #495057 !important;
        }
        
        [data-bs-theme="light"] .btn-outline-secondary:hover,
        .btn-outline-secondary:hover {
            background-color: #495057 !important;
            color: #ffffff !important;
        }
        
        [data-bs-theme="light"] .btn-outline-success,
        .btn-outline-success {
            border: 2px solid #198754 !important;
            color: #198754 !important;
        }
        
        [data-bs-theme="light"] .btn-outline-success:hover,
        .btn-outline-success:hover {
            background-color: #198754 !important;
            color: #ffffff !important;
        }
        
        /* Outline danger button hover */
        [data-bs-theme="light"] .btn-outline-danger,
        .btn-outline-danger {
            border: 2px solid #dc3545 !important;
            color: #dc3545 !important;
        }
        
        [data-bs-theme="light"] .btn-outline-danger:hover,
        .btn-outline-danger:hover {
            background-color: #dc3545 !important;
            color: #ffffff !important;
        }
        
        /* Outline warning button hover */
        [data-bs-theme="light"] .btn-outline-warning,
        .btn-outline-warning {
            border: 2px solid #ffc107 !important;
            color: #856404 !important;
        }
        
        [data-bs-theme="light"] .btn-outline-warning:hover,
        .btn-outline-warning:hover {
            background-color: #ffc107 !important;
            color: #212529 !important;
        }
        
        /* Outline info button hover */
        [data-bs-theme="light"] .btn-outline-info,
        .btn-outline-info {
            border: 2px solid #0dcaf0 !important;
            color: #055160 !important;
        }
        
        [data-bs-theme="light"] .btn-outline-info:hover,
        .btn-outline-info:hover {
            background-color: #0dcaf0 !important;
            color: #212529 !important;
        }
        
        /* File upload button styling - improved visibility */
        .btn-light,
        [data-bs-theme="light"] .btn-light {
            border: 2px solid #dee2e6 !important;
            background-color: #f8f9fa !important;
            color: #212529 !important;
        }
        
        .btn-light:hover,
        [data-bs-theme="light"] .btn-light:hover {
            background-color: #e9ecef !important;
            border-color: #adb5bd !important;
        }
        
        /* Custom file input button styling */
        .form-control[type="file"]::file-selector-button {
            border: 2px solid #0d6efd !important;
            color: #0d6efd !important;
            background-color: transparent !important;
            font-weight: 500 !important;
        }
        
        .form-control[type="file"]::file-selector-button:hover {
            background-color: #0d6efd !important;
            color: white !important;
        }
        
        /* Dark theme specific styles */
        [data-bs-theme="dark"] {
            --bs-body-bg: #1a1a2e;
            --bs-body-color: #e9ecef;
        }
        
        [data-bs-theme="dark"] .navbar {
            background-color: #16213e !important;
            border-color: #1a1a2e !important;
        }
        
        [data-bs-theme="dark"] .navbar .navbar-brand,
        [data-bs-theme="dark"] .navbar .nav-link {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .navbar .nav-link:hover {
            color: #ffffff !important;
        }
        
        [data-bs-theme="dark"] .bg-white {
            background-color: #16213e !important;
        }
        
        [data-bs-theme="dark"] .bg-light {
            background-color: #1a1a2e !important;
        }
        
        [data-bs-theme="dark"] .card {
            background-color: #16213e !important;
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .modal-content {
            background-color: #16213e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .modal-header,
        [data-bs-theme="dark"] .modal-footer {
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .form-control,
        [data-bs-theme="dark"] .form-select {
            background-color: #1a1a2e !important;
            border-color: #2d3a5f !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .form-control:focus,
        [data-bs-theme="dark"] .form-select:focus {
            background-color: #1a1a2e !important;
            border-color: #0d6efd !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .form-control::placeholder {
            color: #6c757d !important;
        }
        
        [data-bs-theme="dark"] .text-muted {
            color: #9ca3af !important;
        }
        
        [data-bs-theme="dark"] .border,
        [data-bs-theme="dark"] .border-top,
        [data-bs-theme="dark"] .border-bottom,
        [data-bs-theme="dark"] .border-start,
        [data-bs-theme="dark"] .border-end,
        [data-bs-theme="dark"] [class*="border-"] {
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .border-0,
        [data-bs-theme="dark"] .border-top-0,
        [data-bs-theme="dark"] .border-bottom-0,
        [data-bs-theme="dark"] .border-start-0,
        [data-bs-theme="dark"] .border-end-0 {
            border-color: transparent !important;
        }
        
        [data-bs-theme="dark"] .border-white {
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .border-light {
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .card.border-0 {
            border: none !important;
        }
        
        [data-bs-theme="dark"] .card:not(.border-0) {
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .shadow-sm {
            box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3) !important;
        }
        
        [data-bs-theme="dark"] .alert {
            border-color: rgba(255, 255, 255, 0.1) !important;
        }
        
        [data-bs-theme="dark"] .table {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
            background-color: rgba(255, 255, 255, 0.05) !important;
        }
        
        [data-bs-theme="dark"] .list-group-item {
            background-color: #16213e !important;
            border-color: #2d3a5f !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .input-group-text {
            background-color: #1a1a2e !important;
            border-color: #2d3a5f !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .card-header {
            background-color: #16213e !important;
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .card-body {
            background-color: #16213e !important;
        }
        
        [data-bs-theme="dark"] .alert-secondary {
            background-color: #1a1a2e !important;
            border-color: #2d3a5f !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .alert-info {
            background-color: rgba(13, 110, 253, 0.15) !important;
            border-color: rgba(13, 110, 253, 0.3) !important;
            color: #6ea8fe !important;
        }
        
        [data-bs-theme="dark"] .alert-warning {
            background-color: rgba(255, 193, 7, 0.15) !important;
            border-color: rgba(255, 193, 7, 0.3) !important;
            color: #ffda6a !important;
        }
        
        [data-bs-theme="dark"] .alert-success {
            background-color: rgba(25, 135, 84, 0.15) !important;
            border-color: rgba(25, 135, 84, 0.3) !important;
            color: #75b798 !important;
        }
        
        [data-bs-theme="dark"] .alert-danger {
            background-color: rgba(220, 53, 69, 0.15) !important;
            border-color: rgba(220, 53, 69, 0.3) !important;
            color: #ea868f !important;
        }
        
        [data-bs-theme="dark"] .progress {
            background-color: #2d3a5f !important;
        }
        
        /* Dark mode outline button styles */
        [data-bs-theme="dark"] .btn-outline-primary {
            border-color: #6ea8fe !important;
            color: #6ea8fe !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-primary:hover {
            background-color: #0d6efd !important;
            color: #ffffff !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-secondary {
            border-color: #6c757d !important;
            color: #adb5bd !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-secondary:hover {
            background-color: #6c757d !important;
            color: #fff !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-success {
            border-color: #75b798 !important;
            color: #75b798 !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-success:hover {
            background-color: #198754 !important;
            color: #ffffff !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-danger {
            border-color: #ea868f !important;
            color: #ea868f !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-danger:hover {
            background-color: #dc3545 !important;
            color: #ffffff !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-warning {
            border-color: #ffda6a !important;
            color: #ffda6a !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-warning:hover {
            background-color: #ffc107 !important;
            color: #212529 !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-info {
            border-color: #6edff6 !important;
            color: #6edff6 !important;
        }
        
        [data-bs-theme="dark"] .btn-outline-info:hover {
            background-color: #0dcaf0 !important;
            color: #212529 !important;
        }
        
        [data-bs-theme="dark"] .dropdown-menu {
            background-color: #16213e !important;
            border-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .dropdown-item {
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .dropdown-item:hover {
            background-color: #2d3a5f !important;
        }
        
        [data-bs-theme="dark"] .list-group-item {
            background-color: #16213e !important;
            border-color: #2d3a5f !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .page-loading-overlay {
            background-color: #1a1a2e !important;
        }
        
        [data-bs-theme="dark"] footer {
            background-color: #16213e !important;
            color: #e9ecef !important;
        }
        
        /* Dark mode code element styling */
        [data-bs-theme="dark"] code {
            color: #e9ecef !important;
            background-color: rgba(255, 255, 255, 0.1) !important;
        }
        
        /* Preserve bg-dark on code elements in dark mode */
        [data-bs-theme="dark"] code.bg-dark {
            background-color: #212529 !important;
            color: #fff !important;
        }
        
        /* Dark mode alert-secondary styling */
        [data-bs-theme="dark"] .alert-secondary {
            background-color: rgba(255, 255, 255, 0.1) !important;
            color: #e9ecef !important;
            border-color: #2d3a5f !important;
        }
        
        /* Dark mode table header */
        [data-bs-theme="dark"] .table-light {
            background-color: #1a1a2e !important;
            color: #e9ecef !important;
        }
        
        [data-bs-theme="dark"] .table-light th {
            background-color: #1a1a2e !important;
            color: #e9ecef !important;
        }
        
        /* Theme icon visibility */
        [data-bs-theme="light"] .theme-icon-light {
            display: block !important;
        }
        [data-bs-theme="light"] .theme-icon-dark {
            display: none !important;
        }
        [data-bs-theme="dark"] .theme-icon-light {
            display: none !important;
        }
        [data-bs-theme="dark"] .theme-icon-dark {
            display: block !important;
        }
        
        /* Smooth transition for theme change */
        body, .navbar, .card, .modal-content, .form-control, .form-select, footer, .bg-white, .bg-light {
            transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
        }
    
/* ====== Block separator ====== */
        /* Fix Bootstrap modals blocking clicks when hidden */
        .modal:not(.show) {
            display: none !important;
            pointer-events: none !important;
        }
        .modal:not(.show) * {
            pointer-events: none !important;
        }
        .modal-backdrop:not(.show) {
            display: none !important;
            pointer-events: none !important;
        }
        
        /* Responsive Modal Centering - Always Centered on Screen */
        .modal.show {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 1rem !important;
        }
        
        .modal.show .modal-dialog {
            margin: 0 !important;
            position: relative !important;
            width: auto !important;
            max-width: calc(100vw - 2rem) !important;
            max-height: calc(100vh - 2rem) !important;
            transform: none !important;
        }
        
        .modal.show .modal-dialog:not(.modal-lg):not(.modal-xl):not(.modal-sm) {
            width: min(500px, calc(100vw - 2rem)) !important;
        }
        
        .modal.show .modal-dialog.modal-sm {
            width: min(350px, calc(100vw - 2rem)) !important;
        }
        
        .modal.show .modal-dialog.modal-lg {
            width: min(800px, calc(100vw - 2rem)) !important;
        }
        
        .modal.show .modal-dialog.modal-xl {
            width: min(1140px, calc(100vw - 2rem)) !important;
        }
        
        .modal.show .modal-content {
            max-height: calc(100vh - 3rem) !important;
            overflow: hidden !important;
            display: flex !important;
            flex-direction: column !important;
        }
        
        .modal.show .modal-body {
            overflow-y: auto !important;
            flex: 1 1 auto !important;
        }
        
        /* Responsive adjustments for small screens */
        @media (max-width: 576px) {
            .modal.show {
                padding: 0.5rem !important;
            }
            .modal.show .modal-dialog {
                width: calc(100vw - 1rem) !important;
                max-width: calc(100vw - 1rem) !important;
                max-height: calc(100vh - 1rem) !important;
            }
            .modal.show .modal-content {
                max-height: calc(100vh - 1.5rem) !important;
                border-radius: 12px !important;
            }
            .modal.show .modal-header,
            .modal.show .modal-footer {
                padding: 0.75rem 1rem !important;
            }
            .modal.show .modal-body {
                padding: 1rem !important;
            }
        }
        
        /* Handle window resize smoothly */
        .modal, .modal-dialog {
            transition: none !important;
        }
    
/* ====== Block separator ====== */
        /* Cookie Banner - Prominent fixed overlay */
        @keyframes cookieSlideUp {
            from { transform: translateY(100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 9998;
            background: #1a1a2e;
            color: #e0e0e0;
            border-top: 3px solid var(--bs-primary, #0d6efd);
            box-shadow: 0 -8px 40px rgba(0,0,0,0.4);
            padding: 1.5rem 1.25rem;
            animation: cookieSlideUp 0.5s ease-out;
        }
        .cookie-banner strong {
            color: #fff;
            font-size: 1.05rem;
        }
        .cookie-banner p {
            color: #c0c0c0;
        }
        .cookie-banner a {
            color: #7eb8ff;
        }
        .cookie-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
        }
        .cookie-text {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            flex: 1;
            min-width: 300px;
        }
        .cookie-icon {
            flex-shrink: 0;
            color: #7eb8ff;
            width: 32px;
            height: 32px;
        }
        .cookie-actions {
            display: flex;
            gap: 0.5rem;
            flex-shrink: 0;
        }
        .cookie-actions .btn-outline-secondary {
            color: #c0c0c0;
            border-color: #555;
        }
        .cookie-actions .btn-outline-secondary:hover {
            background: #333;
            color: #fff;
            border-color: #777;
        }
        .cookie-actions .btn-outline-primary {
            color: #7eb8ff;
            border-color: #7eb8ff;
        }
        .cookie-actions .btn-outline-primary:hover {
            background: rgba(126,184,255,0.15);
            color: #a0d0ff;
        }
        .cookie-actions .btn-primary {
            background: var(--bs-primary, #0d6efd);
            border-color: var(--bs-primary, #0d6efd);
            font-weight: 600;
            padding: 0.5rem 1.25rem;
        }
        
        /* Cookie Settings Button */
        .cookie-settings-btn {
            position: fixed;
            bottom: 20px;
            left: 20px;
            z-index: 9997;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            border: none;
            background: var(--bs-primary);
            color: #fff;
            box-shadow: 0 4px 12px rgba(0,0,0,0.2);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .cookie-settings-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 16px rgba(0,0,0,0.25);
        }
        .cookie-settings-btn svg {
            width: 22px;
            height: 22px;
        }
        
        /* Cookie Modal Overlay */
        .cookie-modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            background: rgba(0,0,0,0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }
        
        /* Cookie Modal */
        .cookie-modal {
            background: var(--bs-body-bg, #fff);
            border-radius: 0.75rem;
            max-width: 500px;
            width: 100%;
            max-height: 90vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 10px 40px rgba(0,0,0,0.3);
        }
        .cookie-modal-lg {
            max-width: 700px;
        }
        .cookie-modal-header {
            padding: 1rem 1.25rem;
            border-bottom: 1px solid var(--bs-border-color);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .cookie-modal-header svg {
            width: 20px;
            height: 20px;
        }
        .cookie-modal-body {
            padding: 1.25rem;
            overflow-y: auto;
            flex: 1;
        }
        .cookie-modal-footer {
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--bs-border-color);
            display: flex;
            gap: 0.5rem;
            justify-content: flex-end;
            flex-wrap: wrap;
        }
        
        /* Cookie Category */
        .cookie-category {
            padding: 1rem;
            background: var(--bs-tertiary-bg, #f8f9fa);
            border-radius: 0.5rem;
            margin-bottom: 0.75rem;
        }
        .cookie-category:last-of-type {
            margin-bottom: 0;
        }
        
        /* Cookie Policy Content */
        .cookie-policy-content h6 {
            margin-top: 1rem;
            margin-bottom: 0.5rem;
        }
        .cookie-policy-content h6:first-child {
            margin-top: 0;
        }
        
        @media (max-width: 576px) {
            .cookie-banner {
                padding: 1.25rem 1rem;
            }
            .cookie-content {
                flex-direction: column;
                text-align: center;
            }
            .cookie-text {
                flex-direction: column;
                align-items: center;
                min-width: auto;
            }
            .cookie-actions {
                width: 100%;
                flex-direction: column;
            }
            .cookie-actions .btn {
                width: 100%;
            }
            .cookie-modal-footer {
                flex-direction: column;
            }
            .cookie-modal-footer .btn {
                width: 100%;
            }
            .cookie-settings-btn {
                bottom: 15px;
                left: 15px;
                width: 44px;
                height: 44px;
            }
        }
    