        * {
            font-family: 'Inter', sans-serif;
        }
        
        /* Honeycomb pattern background */
        .honeycomb-bg {
            background-color: #f8fafc;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%231a56db' fill-opacity='0.05'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        
        /* Hero image section gradient */
        .hero-gradient {
            background: linear-gradient(135deg, var(--brand-color, #1a56db) 0%, var(--brand-dark, #140ECF) 50%, #0f172a 100%);
        }
        
        .btn-primary {
            background: linear-gradient(135deg, var(--brand-color, #1a56db) 0%, var(--brand-dark, #140ECF) 100%);
            transition: all 0.3s ease;
        }
        
        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(26, 86, 219, 0.3);
        }
        
        .btn-primary:active {
            transform: translateY(0);
        }

        /* Password toggle */
        .password-toggle {
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            color: #9ca3af;
            transition: color 0.2s;
        }
        
        .password-toggle:hover {
            color: var(--brand-color, #1a56db);
        }
        
        /* Floating animation for decorative elements */
        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
        }
        
        .float-animation {
            animation: float 6s ease-in-out infinite;
        }
        
        /* Input styling */
        .input-field {
            transition: all 0.2s ease;
        }
        
        .input-field:focus {
            border-color: var(--brand-color, #1a56db);
            box-shadow: 0 0 0 3px rgba(26, 86, 219, 0.1);
        }
        
        /* Custom form styling for crispy forms */
        .form-group input[type="text"],
        .form-group input[type="email"],
        .form-group input[type="password"],
        .form-group input[type="tel"],
        .form-group select,
        .textinput,
        input.form-control,
        select.form-control {
            width: 100% !important;
            padding: 12px 16px !important;
            border: 2px solid #e5e7eb !important;
            border-radius: 12px !important;
            font-size: 15px !important;
            transition: all 0.2s !important;
            background: white !important;
            outline: none !important;
        }
        
        .form-group input:focus,
        .form-group select:focus,
        .textinput:focus,
        input.form-control:focus,
        select.form-control:focus {
            border-color: var(--brand-color, #1a56db) !important;
            box-shadow: 0 0 0 3px rgba(26, 86, 219, 0.1) !important;
            background: white !important;
        }
        
        .form-group label,
        .control-label,
        label {
            display: block !important;
            font-weight: 600 !important;
            color: #374151 !important;
            margin-bottom: 6px !important;
            font-size: 14px !important;
        }
        
        /* Hide crispy forms asterisk */
        .asteriskField {
            display: none !important;
        }
        
        .form-group,
        div[id^="div_id_"] {
            margin-bottom: 16px !important;
        }
        
        /* Help text */
        .help-block,
        small.form-text {
            font-size: 12px !important;
            color: #6b7280 !important;
            margin-top: 4px !important;
        }
        
        /* Error styling */
        .has-error input,
        .is-invalid {
            border-color: #ef4444 !important;
        }
        
        .invalid-feedback,
        .help-block.text-danger {
            color: #ef4444 !important;
            font-size: 12px !important;
            margin-top: 4px !important;
        }
        
        /* Custom checkbox */
        .custom-checkbox {
            accent-color: var(--brand-color, #1a56db);
        }
        
        /* Scrollbar styling */
        ::-webkit-scrollbar {
            width: 6px;
        }
        
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }
        
        ::-webkit-scrollbar-thumb {
            background: #c1c1c1;
            border-radius: 10px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: #a1a1a1;
        }