:root {
            --bg-dark: #05070A;
            --card-bg: rgba(13, 17, 23, 0.7);
            --accent-primary: #DD7900;
            --accent-secondary: #FF9F45;
            --text-main: #FFFFFF;
            --text-dim: #98A2B3;
            --border: rgba(255, 255, 255, 0.08);
            --glass-effect: blur(14px) saturate(180%);
            --radius-lg: 28px;
            --radius-md: 16px;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-dark);
            color: var(--text-main);
            min-height: 100vh;
            display: flex; align-items: center; justify-content: center;
            overflow: hidden;
            background-image: 
                radial-gradient(circle at 10% 20%, rgba(221, 121, 0, 0.08) 0%, transparent 40%),
                radial-gradient(circle at 90% 80%, rgba(88, 28, 135, 0.1) 0%, transparent 40%);
        }

        .container {
            width: min(1080px, 95vw);
            display: grid; grid-template-columns: 1.1fr 0.9fr;
            gap: 24px; padding: 20px;
        }

        /* --- LEFT SIDE --- */
        .hero-section { display: grid; grid-template-rows: auto 1fr; gap: 20px; }
        .brand-card {
            background: var(--card-bg); backdrop-filter: var(--glass-effect);
            border: 1px solid var(--border); padding: 24px; border-radius: var(--radius-md);
            display: flex; align-items: center; gap: 16px;
        }
        .brand-logo {
            width: 48px; height: 48px;
            background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
            border-radius: 12px; display: flex; align-items: center; justify-content: center;
            font-size: 24px; color: #fff;
        }

        .info-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        .bento-item {
            background: var(--card-bg); backdrop-filter: var(--glass-effect);
            border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px;
        }
        .bento-item.large {
            grid-column: span 2;
            background: linear-gradient(rgba(13,17,23,0.6), rgba(13,17,23,0.9)), url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
        }
        .bento-item i { font-size: 28px; color: var(--accent-primary); margin-bottom: 12px; display: block; }
        .bento-item h3 { font-size: 18px; margin-bottom: 8px; font-weight: 600; }
        .bento-item p { font-size: 14px; color: var(--text-dim); line-height: 1.6; }

        /* --- RIGHT SIDE (FORM) --- */
        .login-card {
            background: #FFFFFF; border-radius: var(--radius-lg); padding: 40px;
            display: flex; flex-direction: column; justify-content: center;
            color: #111; box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.5);
        }

        .login-card h1 { font-size: 28px; font-weight: 800; letter-spacing: -1px; margin-bottom: 6px; }
        .login-card .subtitle { color: #667085; margin-bottom: 24px; font-size: 15px; }

        /* Step Progress */
        .step-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
        .step-dots { display: flex; gap: 6px; }
        .dot { width: 8px; height: 8px; border-radius: 4px; background: #D0D5DD; transition: 0.3s; }
        .dot.active { width: 24px; background: var(--accent-primary); }

        .alert-box {
            background: #FFF1F2; color: #E11D48; padding: 12px; border-radius: 12px;
            margin-bottom: 20px; font-size: 13px; border: 1px solid #FFE4E6;
        }
        .alert-success { background: #ECFDF5; color: #059669; border: 1px solid #D1FAE5; }

        .input-group { margin-bottom: 16px; }
        .input-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: #344054; }
        
        .input-wrapper { position: relative; display: flex; align-items: center; }
        .input-wrapper i.main-icon { position: absolute; left: 16px; color: #98A2B3; font-size: 18px; pointer-events: none; z-index: 2; }
        
        .input-field {
            width: 100%; padding: 12px 16px 12px 48px;
            background: #F9FAFB; border: 1px solid #D0D5DD; border-radius: 12px;
            font-size: 15px; transition: 0.2s; position: relative; z-index: 1;
        }
        .input-field:focus { outline: none; border-color: var(--accent-primary); background: #fff; box-shadow: 0 0 0 4px rgba(221, 121, 0, 0.1); }

        .toggle-pwd { position: absolute; right: 14px; background: none; border: none; color: #98A2B3; cursor: pointer; z-index: 3; }

        .step-page { display: none; }
        .step-page.active { display: block; animation: fadeIn 0.4s ease; }

        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        .actions { display: flex; gap: 12px; margin-top: 20px; }
        .btn {
            flex: 1; padding: 14px; border-radius: 12px; font-size: 15px; font-weight: 600;
            cursor: pointer; transition: 0.3s; border: none;
        }
        .btn-next { background: #101828; color: #fff; }
        .btn-next:hover { background: var(--accent-primary); }
        .btn-back { background: #F2F4F7; color: #344054; }
        .btn-submit { background: var(--accent-primary); color: #fff; width: 100%; }

        .foot-text { text-align: center; margin-top: 24px; font-size: 14px; color: #667085; }
        .foot-text a { color: var(--accent-primary); text-decoration: none; font-weight: 700; }

        @media (max-width: 950px) { .container { grid-template-columns: 1fr; } .hero-section { display: none; } }