:root {
            /* Brand Palette */
            --bpo-brand-lime: #BAE634;
            --bpo-brand-dark: #1A4332;
            --bpo-lime-hover: #a4cf26;
            
            /* UI Colors */
            --bpo-text-main: #1A4332;
            --bpo-text-muted: #6B7280;
            --bpo-bg-body: #f4f6f5;
            --bpo-border-color: #e5e7eb;
            --bpo-white: #ffffff;
            --bpo-danger: #ef4444;
        }

        /* Reset & Base */
        * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Inter', sans-serif; }
        
        body { 
            background-color: var(--bpo-bg-body); 
            height: 100vh; 
            display: flex; 
            overflow: hidden; 
        }

        /* Layout Wrapper */
        .bpo-layout-wrapper { 
            display: flex; 
            width: 100%; 
            height: 100%; 
        }

        /* Left Side: Visual Panel */
        .bpo-visual-panel {
            flex: 1;
            background-color: var(--bpo-brand-dark);
            background-image: url('https://images.unsplash.com/photo-1556761175-5973dc0f32e7?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
            background-size: cover;
            background-position: center;
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: space-between; /* Spread logo top, text bottom */
            padding: 50px 60px;
            color: white;
        }

        /* Logo Container */
        .bpo-logo-wrapper {
            position: relative;
            z-index: 5;
            margin-bottom: 20px;
        }

        .bpo-logo-wrapper svg {
            width: 140px;
            height: auto;
            fill: var(--bpo-white);
            filter: drop-shadow(0 4px 6px rgba(0,0,0,0.2));
        }

        /* Dark Overlay */
        .bpo-overlay-gradient { 
            position: absolute; top: 0; left: 0; right: 0; bottom: 0; 
            background: linear-gradient(to top, var(--bpo-brand-dark) 10%, rgba(26, 67, 50, 0.3) 100%); 
            z-index: 1;
        }

        /* Content Text */
        .bpo-quote-wrapper { 
            position: relative; 
            z-index: 2; 
            margin-top: auto; /* Push to bottom */
        }
        .bpo-heading-main { 
            font-size: 2.5rem; 
            margin-bottom: 0.5rem; 
            font-weight: 700; 
            line-height: 1.1; 
            color: white; 
            letter-spacing: -0.02em;
        }
        .bpo-subtext { 
            font-size: 1rem; 
            opacity: 0.9; 
            max-width: 380px; 
            color: #e0e0e0; 
            line-height: 1.6;
        }

        /* Right Side: Form Panel */
        .bpo-form-panel {
            flex: 1;
            background: var(--bpo-white);
            padding: 60px 70px;
            display: flex;
            flex-direction: column;
            position: relative;
            overflow-y: auto;
        }

        /* Progress Bar */
        .bpo-progress-section { margin-bottom: 30px; }
        .bpo-step-label { 
            font-size: 0.8rem; 
            font-weight: 600; 
            color: var(--bpo-text-muted); 
            text-transform: uppercase; 
            letter-spacing: 0.05em; 
            margin-bottom: 12px; 
        }
        .bpo-track-bg { 
            width: 100%; 
            height: 6px; 
            background-color: var(--bpo-border-color); 
            border-radius: 4px; 
            overflow: hidden; 
        }
        .bpo-track-fill { 
            height: 100%; 
            background-color: var(--bpo-brand-lime); 
            width: 16.66%; 
            transition: width 0.4s ease; 
        }

        /* Step Containers */
        .bpo-step-content { display: none; animation: bpoFadeIn 0.4s ease-out; }
        .bpo-step-content.bpo-active { display: block; }
        @keyframes bpoFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Typography */
        h1 { font-size: 1.8rem; color: var(--bpo-brand-dark); margin-bottom: 8px; font-weight: 700; }
        .bpo-desc-text { color: var(--bpo-text-muted); margin-bottom: 30px; font-size: 0.95rem; line-height: 1.5; }

        /* Input Groups */
        .bpo-field-group { margin-bottom: 24px; }
        .bpo-label-text { 
            display: block; 
            margin-bottom: 8px; 
            font-weight: 600; 
            font-size: 0.85rem; 
            color: var(--bpo-text-main); 
            letter-spacing: 0.01em;
        }
        
        input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea {
            width: 100%; 
            padding: 14px 16px; 
            background-color: #f9fafb; 
            border: 2px solid var(--bpo-border-color); 
            border-radius: 10px; 
            font-size: 0.95rem; 
            transition: all 0.2s;
            color: var(--bpo-text-main);
            font-weight: 500;
        }
        
        input:focus, select:focus, textarea:focus { 
            background-color: white; 
            border-color: var(--bpo-brand-lime); 
            outline: none; 
            box-shadow: 0 0 0 3px rgba(186, 230, 52, 0.2); 
        }

        /* Radio Groups */
        .bpo-radio-group { display: flex; gap: 25px; }
        .bpo-radio-label { display: flex; align-items: center; gap: 10px; font-weight: 500; cursor: pointer; color: var(--bpo-text-main); }
        input[type="radio"] { width: 20px; height: 20px; accent-color: var(--bpo-brand-lime); }

        /* File Uploader */
        .bpo-uploader-zone {
            border: 2px dashed var(--bpo-border-color);
            border-radius: 12px;
            padding: 24px;
            text-align: center;
            background-color: #f9fafb;
            cursor: pointer;
            transition: all 0.2s;
            position: relative;
        }
        .bpo-uploader-zone:hover { border-color: var(--bpo-brand-lime); background-color: #fbffeb; }
        .bpo-uploader-zone input[type="file"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
        .bpo-upload-hint { font-size: 0.85rem; color: var(--bpo-text-muted); pointer-events: none; }
        .bpo-filename-display { font-size: 0.8rem; color: var(--bpo-text-main); margin-top: 6px; font-weight: 600; display: block; }

        /* Partner Cards */
        .bpo-partner-entry {
            background: #fff;
            border: 1px solid var(--bpo-border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 20px;
            position: relative;
            box-shadow: 0 2px 4px rgba(0,0,0,0.02);
        }
        .bpo-partner-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
        .bpo-partner-header h4 { color: var(--bpo-brand-dark); margin: 0; font-weight: 700; }
        .bpo-btn-remove { 
            color: var(--bpo-danger); 
            background: #fff5f5; 
            border: none; 
            font-weight: 600; 
            cursor: pointer; 
            font-size: 0.8rem; 
            padding: 6px 12px; 
            border-radius: 6px;
        }
        .bpo-btn-remove:hover { background: #fee2e2; }

        .bpo-grid-2-col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

        /* Verify Button */
        .bpo-btn-verify {
            padding: 12px 24px; 
            background-color: var(--bpo-brand-dark); 
            color: var(--bpo-brand-lime); 
            border: none; 
            border-radius: 8px; 
            cursor: pointer; 
            font-size: 0.85rem; 
            font-weight: 700;
            margin-top: 5px;
            transition: all 0.2s;
        }
        .bpo-btn-verify:hover { opacity: 0.9; transform: translateY(-1px); }
        
        .bpo-verify-badge { font-size: 0.8rem; font-weight: 700; margin-left: 10px; display: none; }
        .bpo-verify-badge.valid { color: var(--bpo-brand-lime); display: inline-block; }
        .bpo-verify-badge.invalid { color: var(--bpo-danger); display: inline-block; }

        /* Footer Navigation */
        .bpo-nav-footer { margin-top: auto; padding-top: 40px; display: flex; justify-content: space-between; align-items: center; }
        
        .bpo-btn { 
            padding: 14px 32px; 
            border-radius: 8px; 
            font-weight: 700; 
            font-size: 1rem; 
            cursor: pointer; 
            transition: all 0.2s; 
            border: none; 
        }
        
        .bpo-btn-secondary { 
            background: transparent; 
            color: var(--bpo-text-muted); 
            border: 1px solid transparent; 
        }
        .bpo-btn-secondary:hover { color: var(--bpo-brand-dark); border-color: var(--bpo-border-color); }

        .bpo-btn-primary { 
            background-color: var(--bpo-brand-lime); 
            color: var(--bpo-brand-dark); 
            box-shadow: 0 4px 12px rgba(186, 230, 52, 0.4); 
        }
        .bpo-btn-primary:hover { 
            background-color: var(--bpo-lime-hover); 
            transform: translateY(-1px);
        }

        .bpo-btn-add-partner { 
            width: 100%; 
            padding: 14px; 
            background: white; 
            border: 2px dashed var(--bpo-brand-dark); 
            color: var(--bpo-brand-dark); 
            border-radius: 10px; 
            cursor: pointer; 
            font-weight: 700; 
            margin-bottom: 20px; 
            transition: all 0.2s;
        }
        .bpo-btn-add-partner:hover { background-color: var(--bpo-brand-lime); border-style: solid; }

        /* Agreement Box */
        .bpo-agreement-box { 
            max-height: 220px; 
            overflow-y: auto; 
            border: 1px solid var(--bpo-border-color); 
            padding: 20px; 
            border-radius: 10px; 
            background: #f9fafb; 
            margin-bottom: 20px; 
            font-size: 0.85rem; 
            color: var(--bpo-text-muted); 
            line-height: 1.7; 
        }
        .bpo-checkbox-wrapper { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
        input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--bpo-brand-dark); cursor: pointer; }

        /* Mobile Responsive */
        @media (max-width: 900px) {
            .bpo-visual-panel { display: none; }
            .bpo-form-panel { padding: 30px 24px; height: 100vh; }
            .bpo-layout-wrapper { height: 100vh; display: block; }
            body { display: block; height: auto; background: var(--bpo-white); }
            .bpo-nav-footer { 
                position: fixed; bottom: 0; left: 0; width: 100%; 
                background: white; padding: 20px 24px; border-top: 1px solid var(--bpo-border-color); 
                z-index: 100; margin-top: 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.05); 
            }
            .bpo-form-panel { padding-bottom: 90px; }
            .bpo-grid-2-col { grid-template-columns: 1fr; }
        }
