:root {
            --navy-950: #0a0e1a;
            --navy-900: #0f172a;
            --navy-800: #1e293b;
            --slate-700: #334155;
            --orange-500: #f97316;
            --orange-600: #ea580c;
            --rust-600: #dc2626;
            --rust-700: #c2410c;
            --blue-500: #3b82f6;
            --blue-400: #60a5fa;
            --slate-200: #e2e8f0;
            --slate-400: #94a3b8;
            --white-10: rgba(255, 255, 255, 0.1);
            --white-15: rgba(255, 255, 255, 0.15);
            --white-20: rgba(255, 255, 255, 0.2);
            --glass-shadow: 0 24px 65px rgba(8, 15, 40, 0.5);
        }

        * {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
        }
        .journey-scroll {
            scrollbar-width: thin;
            scrollbar-color: rgba(248, 250, 252, 0.35) transparent;
        }

        .journey-scroll::-webkit-scrollbar {
            width: 6px;
        }

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

        .journey-scroll::-webkit-scrollbar-thumb {
            background: rgba(248, 250, 252, 0.35);
            border-radius: 9999px;
        }

        input, textarea {
            background: rgba(15, 23, 42, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: #e2e8f0;
            transition: all 0.3s ease;
        }

        input:focus, textarea:focus {
            background: rgba(15, 23, 42, 0.95);
            border-color: var(--orange-500);
            box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
            outline: none;
        }

        input::placeholder, textarea::placeholder {
            color: #64748b;
        }

        h1, h2, h3, h4 {
            font-weight: 300;
            letter-spacing: 0.025em;
        }

        .font-light { font-weight: 300; }
        .font-normal { font-weight: 400; }
        .font-medium { font-weight: 500; }

        .scan-line {
            position: relative;
            overflow: hidden;
        }

        .scan-line::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg, transparent, var(--orange-500), transparent);
            animation: scan 3s ease-in-out infinite;
        }

        @keyframes scan {
            0%, 100% { left: -100%; opacity: 0; }
            50% { left: 100%; opacity: 1; }
        }

        /* Card polish */
        .glass-card {
            border: 1px solid var(--white-10);
            background: rgba(255,255,255,0.05);
            backdrop-filter: blur(12px);
            box-shadow: var(--glass-shadow);
        }

        .glass-card:hover {
            border-color: rgba(249, 115, 22, 0.3);
            background: rgba(255,255,255,0.08);
        }

        /* Toasts */
        #toast-root {
            position: fixed;
            inset: auto 0 24px 0;
            display: grid;
            place-items: center;
            pointer-events: none;
            z-index: 100;
        }

        .toast {
            pointer-events: auto;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 14px;
            border-radius: 12px;
            border: 1px solid var(--white-15);
            background: rgba(10,14,26,0.85);
            color: var(--slate-200);
            box-shadow: 0 10px 30px rgba(0,0,0,0.35);
            transform: translateY(10px);
            opacity: 0;
            transition: all .25s ease;
        }

        .toast.show {
            transform: translateY(0);
            opacity: 1;
        }

        .toast.success { border-color: rgba(16,185,129,0.4); }
        .toast.error { border-color: rgba(239,68,68,0.4); }
        .toast.info { border-color: rgba(59,130,246,0.4); }

        .toast .dot {
            width: 8px; height: 8px; border-radius: 9999px;
        }
        .toast.success .dot { background: rgba(16,185,129,0.9); }
        .toast.error .dot { background: rgba(239,68,68,0.9); }
        .toast.info .dot { background: rgba(59,130,246,0.9); }

        /* Compact density overrides (preview only) */
        .compact-ui #journey-sidebar { width: 18rem !important; right: 0.5rem !important; padding: 14px !important; }
        .compact-ui #layout-shell main { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
        .compact-ui .px-10 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
        .compact-ui .px-8 { padding-left: 1rem !important; padding-right: 1rem !important; }
        .compact-ui .py-10 { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
        .compact-ui .py-12 { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
        .compact-ui .pb-10 { padding-bottom: 1rem !important; }
        .compact-ui .pt-8 { padding-top: 1rem !important; }
        .compact-ui .gap-6 { gap: 1rem !important; }
        .compact-ui .gap-10 { gap: 1.25rem !important; }
        .compact-ui .rounded-3xl, .compact-ui .rounded-2xl { border-radius: 14px !important; }
        .compact-ui .glass-card, .compact-ui .rounded-3xl, .compact-ui .rounded-2xl { padding: 1rem !important; }

        /* Buttons and steps */
        .compact-ui [data-button-variant] { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
        .compact-ui .journey-step { padding: 0.5rem 0.75rem !important; font-size: 0.88rem !important; }

        /* Left nav density */
        .compact-ui #global-nav nav a { padding: 6px 10px !important; }
        .compact-ui #global-nav .px-3 { padding-left: 10px !important; padding-right: 10px !important; }
        .compact-ui #global-nav .py-2\.5 { padding-top: 6px !important; padding-bottom: 6px !important; }
