* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            min-height: 100vh;
            font-family: Arial, sans-serif;

            background:
                linear-gradient(rgba(255, 255, 255, 0.88),
                    rgba(255, 255, 255, 0.92)),
                url('auth/img/bg-tv.jpg');

            background-size: cover;
            background-position: center;
            background-attachment: fixed;

            display: flex;
            justify-content: center;
            align-items: center;

            padding: 20px;
        }

        /********************** CARD **********************/
        .login-box {

            width: 100%;
            max-width: 420px;

            background: #ffffff;

            padding: 35px 25px;

            border-radius: 25px;

            border: 1px solid #eeeeee;

            box-shadow:
                0 10px 30px rgba(0, 0, 0, 0.08),
                0 0 20px rgba(255, 165, 0, 0.08);

            animation: fadeIn 0.6s ease;
        }

        @keyframes fadeIn {

            from {
                opacity: 0;
                transform: translateY(20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /********************** LOADING **********************/
        #loading-screen {

            position: fixed;

            top: 0;
            left: 0;

            width: 100%;
            height: 100%;

            background: rgba(255, 255, 255, 0.95);

            z-index: 9999;

            display: none;

            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .loader {

            width: 65px;
            height: 65px;

            border: 6px solid #eee;
            border-top: 6px solid orange;

            border-radius: 50%;

            animation: spin 1s linear infinite;
        }

        @keyframes spin {

            100% {
                transform: rotate(360deg);
            }
        }

        .loading-text {

            margin-top: 20px;

            color: orange;

            font-size: 18px;

            font-weight: bold;
        }

        /********************** LOGO **********************/
        .logo {
            text-align: center;
            margin-bottom: 10px;
        }

        .logo img {
            width: 100px;
        }

        .tv-icon {
            text-align: center;
            margin-bottom: 10px;
        }

        .tv-icon i {
            font-size: 45px;
            color: orange;
        }

        /********************** TITRE **********************/
        h3 {
            text-align: center;
            font-size: 26px;
            font-weight: 800;
            margin-bottom: 8px;

            background: linear-gradient(45deg, #ff9800, #ffb300);

            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;

            letter-spacing: 1px;
            text-transform: uppercase;

            text-shadow:
                0 2px 10px rgba(255, 165, 0, 0.15);

            position: relative;
        }

        h3::after {
            content: '';
            width: 60px;
            height: 2px;

            background: orange;

            display: block;

            margin: 10px auto 0 auto;

            border-radius: 20px;

            box-shadow: 0 0 10px rgba(255, 165, 0, 0.4);
        }

        .subtitle {
            text-align: center;
            color: #666;
            font-size: 14px;
            margin-bottom: 25px;
            margin-top: 15px;
        }

        /********************** INPUTS **********************/
        .input-group-custom {
            position: relative;
            margin-bottom: 10px;
        }

        .input-group-custom i {
            position: absolute;
            top: 18px;
            left: 15px;
            color: orange;
            font-size: 15px;
        }

        .conn {
            width: 100%;
            height: 52px;

            border-radius: 14px;

            border: 1px solid #dddddd;

            background: #fafafa;

            padding-left: 45px;
            padding-right: 15px;

            color: #222;

            font-size: 15px;

            outline: none;

            transition: 0.3s;
        }

        .conn::placeholder {
            color: #999;
        }

        .conn:focus {
            border-color: orange;
            background: #fff;
            box-shadow: 0 0 12px rgba(255, 165, 0, 0.2);
        }

        /********************** VALIDATION **********************/
        .success-input {
            border: 2px solid #00c853 !important;
        }

        .error-input {
            border: 2px solid #ff4d4d !important;
        }

        /********************** MESSAGE **********************/
        #diva {
            color: #ff4d4d;
            font-size: 12px;
            margin-top: 5px;
            margin-bottom: 10px;
            padding-left: 5px;
            display: block;
            line-height: 18px;
            text-align: left;
            font-weight: 500;
        }

        /********************** BUTTON **********************/
        #buttony {

            width: 100%;
            height: 52px;

            border: none;

            border-radius: 14px;

            background: linear-gradient(45deg, #ff9800, #ffb300);

            color: white;

            font-size: 17px;
            font-weight: bold;

            transition: 0.3s;

            margin-top: 10px;

            box-shadow: 0 5px 20px rgba(255, 165, 0, 0.25);
        }

        #buttony:hover {

            transform: translateY(-2px);

            box-shadow: 0 8px 25px rgba(255, 165, 0, 0.35);
        }

        /********************** REGISTER **********************/
        .register-text {

            margin-top: 20px;

            font-size: 14px;

            text-align: center;

            color: #555;
        }

        .register-text a {

            color: orange;

            text-decoration: none;

            font-weight: bold;
        }

        .register-text a:hover {

            color: #ff8800;
        }

        /********************** RESPONSIVE **********************/
        @media(max-width:480px) {

            body {
                padding: 10px;
            }

            .login-box {
                padding: 25px 18px;
                border-radius: 20px;
            }

            h3 {
                font-size: 25px;
            }

            .conn {
                height: 48px;
                font-size: 14px;
            }

            #buttony {
                height: 48px;
                font-size: 15px;
            }

            .logo img {
                width: 85px;
            }
        }