@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;700;800&display=swap');

        :root {
            --primary: #14b8a6;
            --secondary: #f59e0b;
            --dark: #111827;
        }

        * {
            box-sizing: border-box;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background:
                radial-gradient(circle at 20% 10%, rgba(20, 184, 166, 0.22), transparent 32rem),
                radial-gradient(circle at 90% 0%, rgba(245, 158, 11, 0.18), transparent 28rem),
                linear-gradient(135deg, #07111d 0%, #111827 52%, #21140a 100%);
            color: #f8fafc;
            overflow-x: hidden;
            min-height: 100vh;
        }

        .glass {
            background: rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(18px);
            border: 1px solid rgba(255, 255, 255, 0.13);
            box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
        }

        .soft-card {
            background: rgba(15, 23, 42, 0.62);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
        }

        .gradient-text {
            background: linear-gradient(135deg, #5eead4 0%, #fbbf24 55%, #fb7185 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .btn-primary {
            background: linear-gradient(135deg, #14b8a6, #f59e0b);
            color: #07111d;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 18px 36px rgba(20, 184, 166, 0.28);
        }

        .btn-secondary {
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.14);
            transition: background 0.25s ease, transform 0.25s ease;
        }

        .btn-secondary:hover {
            background: rgba(255, 255, 255, 0.14);
            transform: translateY(-2px);
        }

        .upload-zone {
            border: 2px dashed rgba(94, 234, 212, 0.44);
            transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
        }

        .upload-zone.dragover {
            border-color: #fbbf24;
            background: rgba(251, 191, 36, 0.08);
            transform: scale(1.01);
        }

        .result-card {
            opacity: 0;
            transform: translateY(16px);
            animation: slideUp 0.5s ease forwards;
        }

        @keyframes slideUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .room-preview-empty {
            background:
                linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
                repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.035) 0 10px, transparent 10px 20px);
        }
