        @import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Quicksand:wght@400;500;600;700&family=Dancing+Script:wght@600;700&display=swap');

        body {
            font-family: 'Baloo 2', 'Quicksand', sans-serif;
            background-color: #f2ecdb;
            background-image:
                radial-gradient(ellipse 60% 40% at 12% 8%, rgba(255,255,255,0.55) 0%, transparent 60%),
                radial-gradient(ellipse 50% 35% at 88% 5%, rgba(221,167,56,0.12) 0%, transparent 65%),
                radial-gradient(ellipse 70% 50% at 50% 100%, rgba(98,138,61,0.10) 0%, transparent 70%),
                linear-gradient(180deg, #eef2e6 0%, #f5efdd 45%, #f2ecdb 100%);
            background-attachment: fixed;
            color: #443925;
            margin: 0;
            height: 100vh;
            overflow: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Custom Scrollbar for a premium look */
        .custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #d9cdb0; border-radius: 10px; }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #b8a06e; }

        /* Toast Notifications */
        .toast {
            position: fixed; bottom: 24px; right: 24px;
            padding: 16px 24px; border-radius: 16px;
            color: white; font-weight: 700;
            box-shadow: 0 12px 30px rgba(0,0,0,0.15);
            display: flex; align-items: center; gap: 12px;
            z-index: 1000;
            animation: slideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        .toast.success { background: linear-gradient(135deg, #518a4d 0%, #3f6f3c 100%); }
        .toast.error { background: linear-gradient(135deg, #c05f34 0%, #9e4a28 100%); }
        .toast.fadeOut { animation: fadeOutRight 0.3s ease-in forwards; }

        @keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
        @keyframes fadeOutRight { from { transform: translateX(0); opacity: 1; } to { transform: translateX(100%); opacity: 0; } }
        @keyframes popIn { 0% { transform: scale(0.8); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
        @keyframes stickerFly { 0% { transform: translate(0, 0) rotate(0deg); opacity: 1; } 100% { transform: translate(var(--drift), -110vh) rotate(360deg); opacity: 0; } }

        /* Typography refinements */
        h1, h2, h3, h4, h5, h6 {
            letter-spacing: -0.02em;
        }

        .tracking-widest {
            letter-spacing: 0.1em;
        }

        /* Banner effects */
        .bg-banner { position: relative; overflow: hidden; }
        .bg-banner::before {
            content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%);
            animation: spin 40s linear infinite; pointer-events: none;
        }

        /* Glassmorphism utilities — warm parchment glass instead of cool white */
        .glass { background: rgba(253, 248, 237, 0.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.4); }
        .glass-dark { background: rgba(44, 74, 62, 0.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); }

        /* Print adjustments */
        @media print {
            body * { visibility: hidden; }
            #report-container, #report-container * { visibility: visible; }
            #report-container { position: absolute; left: 0; top: 0; width: 100%; max-width: 100%; }
            .custom-scrollbar { overflow: visible !important; max-height: none !important; }
            .print\:hidden { display: none !important; }
        }
