        body {
            font-family: 'Inter', sans-serif;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .heading-font {
            font-family: 'Space Grotesk', sans-serif;
        }

        /* Glassmorphism Panel Tokens */
        .glass-panel {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        .dark .glass-panel {
            background: rgba(15, 23, 42, 0.75);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        /* Custom Scrollbars */
        ::-webkit-scrollbar { width: 8px; height: 8px; }
        ::-webkit-scrollbar-track { background: rgba(0,0,0,0.05); }
        .dark ::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
        .dark ::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }

        /* Pulsing Glow Effect for Completed Progress */
        @keyframes pulseGlow {
            0%, 100% { box-shadow: 0 0 15px rgba(234, 179, 8, 0.4); }
            50% { box-shadow: 0 0 25px rgba(234, 179, 8, 0.8); }
        }
        .glow-active { animation: pulseGlow 2s infinite; }

        /* Cable Flow Wiring Animation */
        @keyframes flowDash { to { stroke-dashoffset: -40; } }
        .wire-animated {
            stroke-dasharray: 8, 8;
            animation: flowDash 1s linear infinite;
        }

        /* Toast Animation */
        @keyframes slideInUp {
            from { transform: translateY(100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .toast-enter { animation: slideInUp 0.3s ease forwards; }

        /* Certificate Print CSS Setup */
        @media print {
            body * { visibility: hidden; }
            #certificate-modal, #certificate-modal * { visibility: visible; }
            #certificate-modal {
                position: absolute; left: 0; top: 0; width: 100%; height: 100%;
                background: white !important; color: black !important;
            }
            .no-print { display: none !important; }
        }
