        :root {
            --accent-color: #00c853;
            --accent-hover: #00a544;
            --primary-dark: #1b5e20;
            --font-main: 'Inter', sans-serif;
        }

        body {
            font-family: var(--font-main);
            background: linear-gradient(135deg, #fdfbf7 0%, #f5eee0 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 25px 15px;
            color: #423b32;
        }

        .register-card {
            border: 1px solid #e5dec9;
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(66, 59, 50, 0.08);
            background: #ffffff;
            width: 100%;
            max-width: 960px;
            overflow: hidden;
        }

        .side-info {
            background: linear-gradient(180deg, #1b5e20 0%, #0d3810 100%);
            padding: 50px 35px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            color: #ffffff;
        }

        .form-section {
            padding: 40px;
            background: #faf7f2;
        }

        .user-type-card {
            border: 2px solid #e5dec9;
            background: #ffffff;
            border-radius: 16px;
            padding: 16px 12px;
            cursor: pointer;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            text-align: center;
            height: 100%;
            color: #423b32;
        }

        .user-type-card:hover {
            border-color: var(--accent-color);
            background: rgba(0, 200, 83, 0.04);
            transform: translateY(-2px);
        }

        .user-type-card.active {
            border-color: var(--accent-color);
            background: rgba(0, 200, 83, 0.09);
            box-shadow: 0 4px 15px rgba(0, 200, 83, 0.2);
        }

        .user-type-card i {
            font-size: 2rem;
            color: #6d7f8d;
            transition: color 0.3s;
        }

        .user-type-card.active i {
            color: var(--accent-color);
        }

        .btn-accent {
            background-color: var(--accent-color);
            color: #ffffff;
            border: none;
            padding: 14px;
            border-radius: 14px;
            font-weight: 700;
            font-size: 1.05rem;
            transition: all 0.2s ease;
        }

        .btn-accent:hover {
            background-color: var(--accent-hover);
            transform: translateY(-1px);
            box-shadow: 0 5px 15px rgba(0, 200, 83, 0.3);
            color: #ffffff;
        }

        .form-control,
        .form-select {
            background: #ffffff !important;
            border: 1.5px solid #d4cca6 !important;
            border-radius: 12px;
            padding: 11px 14px;
            color: #212121 !important;
            font-size: 0.95rem;
            transition: all 0.2s;
        }

        .form-control:focus,
        .form-select:focus {
            box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.15);
            border-color: var(--accent-color) !important;
            outline: none;
        }

        .loading-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(253, 251, 247, 0.9);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 100;
            border-radius: 24px;
            color: #212121;
        }