
        body {
            margin: 0;
            padding: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            background: #f3f4f6;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
        }

        /* Mobile Container Limiters */
        .auth-container {
            width: 100%;
            max-width: 430px;
            height: 100vh;
            max-height: 932px;
            background: #ffffff;
            position: relative;
            overflow-x: hidden;
            overflow-y: auto;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
        }

        /* Sliding Form Wrapper logic */
        .auth-slider {
            display: flex;
            width: 300%; /* Three viewports wide: Login, Register, Forgot */
            height: 100%;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            flex-grow: 1;
        }

        .auth-screen {
            width: 33.333%;
            height: 100%;
            padding: 40px 30px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            box-sizing: border-box;
            background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 50%);
            position: relative;
        }

        /* Ambient Glow Blobs */
        .bg-circle {
            position: absolute;
            border-radius: 50%;
            filter: blur(40px);
            pointer-events: none;
            z-index: 1;
        }
        .bg-circle-1 { width: 180px; height: 180px; background: rgba(16, 185, 129, 0.12); top: -40px; right: -40px; }
        .bg-circle-2 { width: 200px; height: 200px; background: rgba(139, 92, 246, 0.08); bottom: -40px; left: -40px; }

        .auth-header {
            text-align: center;
            margin-bottom: 30px;
            z-index: 2;
        }

        .auth-logo {
            width: 60px;
            height: 60px;
            border-radius: 18px;
            background: linear-gradient(135deg, #10b981, #059669);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px;
            box-shadow: 0 8px 20px rgba(16, 185, 129, 0.2);
        }

        .auth-logo i {
            font-size: 26px;
            color: #fff;
        }

        .auth-header h2 {
            font-size: 26px;
            font-weight: 800;
            color: #111827;
            margin-bottom: 6px;
        }

        .auth-header p {
            font-size: 14px;
            color: #6b7280;
        }

        /* Custom Double-Segment Role Segment Switch */
        .role-selector {
            display: flex;
            background: #f3f4f6;
            padding: 4px;
            border-radius: 14px;
            margin-bottom: 25px;
            z-index: 2;
            position: relative;
        }

        .role-btn {
            flex: 1;
            border: none;
            background: transparent;
            padding: 10px;
            font-size: 13px;
            font-weight: 700;
            color: #6b7280;
            border-radius: 10px;
            transition: all 0.2s ease;
        }

        .role-btn.active {
            background: #ffffff;
            color: #059669;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
        }

        /* Beautiful Floating Form Group Fields */
        .form-block {
            z-index: 2;
            flex-grow: 1;
        }

        .input-wrapper {
            position: relative;
            margin-bottom: 16px;
        }

        .input-wrapper i.prefix-icon {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #9ca3af;
            font-size: 16px;
            transition: color 0.2s ease;
        }

        .input-wrapper input {
            width: 100%;
            padding: 14px 16px 14px 46px;
            border-radius: 14px;
            border: 1px solid #e5e7eb;
            background: #ffffff;
            font-size: 14px;
            font-weight: 500;
            outline: none;
            transition: all 0.2s ease;
            box-sizing: border-box;
        }

        .input-wrapper input:focus {
            border-color: #10b981;
            box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1);
        }

        .input-wrapper input:focus + i.prefix-icon {
            color: #10b981;
        }

        /* Utility Links */
        .forgot-link {
            display: block;
            text-align: right;
            font-size: 13px;
            font-weight: 700;
            color: #10b981;
            text-decoration: none;
            margin-bottom: 25px;
        }

        /* Core Action CTA Buttons */
        .btn-auth-trigger {
            width: 100%;
            padding: 14px;
            border-radius: 14px;
            font-size: 15px;
            font-weight: 700;
            border: none;
            background: linear-gradient(135deg, #10b981, #059669);
            color: #ffffff;
            box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
            cursor: pointer;
            transition: all 0.2s ease;
            margin-bottom: 25px;
        }

        .btn-auth-trigger:active {
            transform: scale(0.97);
        }

        /* Bottom Footer Routing Links */
        .auth-footer {
            text-align: center;
            font-size: 13px;
            color: #6b7280;
            font-weight: 600;
            z-index: 2;
            margin-top: auto;
        }

        .auth-footer span {
            color: #10b981;
            cursor: pointer;
            font-weight: 700;
        }

        /* Back navigation asset arrow */
        .back-nav-arrow {
            position: absolute;
            top: 25px;
            left: 20px;
            font-size: 18px;
            color: #4b5563;
            cursor: pointer;
            z-index: 10;
            width: 36px;
            height: 36px;
            background: #ffffff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
        }
