/* CC-02b Wave 1 - extracted from FRONTEND/12_legal/safety-guidelines.html */
:root {
            /* Marriage Theme Colors */
            --celebration-orange: #FF9800;
            --dark-900: #0F172A;
            --dark-800: #1E293B;
            --dark-700: #334155;
            --dark-600: #475569;
            --dark-500: #64748B;
            --dark-400: #94A3B8;
        }

        /* Light mode styles */
        .light {
            --bg-primary: #ffffff;
            --bg-secondary: #f9fafb;
            --bg-tertiary: #f3f4f6;
            --text-primary: #111827;
            --text-secondary: #374151;
            --text-tertiary: #6b7280;
            --border-color: #d1d5db;
            --card-bg: #ffffff;
        }

        /* Dark mode styles */
        .dark {
            --bg-primary: #0F172A;
            --bg-secondary: #1E293B;
            --bg-tertiary: #334155;
            --text-primary: #f9fafb;
            --text-secondary: #e5e7eb;
            --text-tertiary: #9ca3af;
            --border-color: #334155;
            --card-bg: #1E293B;
            color-scheme: dark;
        }

        body {
            background: linear-gradient(135deg, var(--dark-900) 0%, var(--dark-800) 100%);
            color: var(--text-primary);
            min-height: 100vh;
        }

        .warning-alert {
            background: linear-gradient(135deg, #DC2626, #EF4444);
            border-left: 0.25rem solid #FEE2E2;
        }

        .safety-alert {
            background: linear-gradient(135deg, #059669, #10B981);
            border-left: 0.25rem solid #D1FAE5;
        }

        .info-alert {
            background: linear-gradient(135deg, var(--eternity-blue), #3B82F6);
            border-left: 0.25rem solid #DBEAFE;
        }

        .threat-level {
            padding: 0.25rem 0.75rem;
            border-radius: 624.9375rem;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .threat-low {
            background: var(--success-green);
            color: white;
        }

        .threat-medium {
            background: var(--celebration-orange);
            color: white;
        }

        .threat-high {
            background: #DC2626;
            color: white;
        }

        .safety-step {
            position: relative;
            padding-left: 3rem;
        }

        .safety-step::before {
            content: attr(data-step);
            position: absolute;
            left: 0;
            top: 0;
            width: 2rem;
            height: 2rem;
            background: linear-gradient(135deg, var(--love-pink), var(--celebration-orange));
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 0.875rem;
        }

        .shield-icon {
            background: linear-gradient(135deg, var(--success-green), var(--eternity-blue));
            padding: 1rem;
            border-radius: 50%;
            color: white;
        }

        .emergency-btn {
            background: linear-gradient(135deg, #DC2626, #EF4444);
            animation: pulse 2s infinite;
        }

        .animation-fade-in {
            animation: fadeIn 0.6s ease-out forwards;
        }

        .animation-slide-up {
            animation: slideUp 0.8s ease-out forwards;
        }

        .red-flag {
            background: #FEE2E2;
            border: 0.0625rem solid #FCA5A5;
            color: #DC2626;
        }

        .safety-tip {
            background: var(--dark-700);
            border-left: 0.25rem solid var(--success-green);
            transition: all 0.3s ease;
        }

        .safety-tip:hover {
            border-left-color: var(--marriage-gold);
            background: var(--dark-600);
        }
