        :root {
            --sicao-bg: #e9edf2;
            --sicao-card: #ffffff;
            --sicao-primary: #282d46;
            --sicao-gold: #b39a64;
            --sicao-text: #4b4f5c;
            --sicao-input: #eaf1ff;
            --sicao-shadow: 0 18px 42px rgba(0, 0, 0, .28);
        }

        html,
        body {
            width: 100%;
            min-height: 100%;
            margin: 0;
            font-family: 'Poppins', sans-serif;
            background: var(--sicao-bg);
        }

        body.login-page {
            min-height: 100vh;
            min-height: 100dvh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow-x: hidden;
            padding: clamp(10px, 2vh, 24px) 14px;
        }

        .login-box {
            width: min(430px, 100%);
            margin: 0 auto;
        }

        .login-box .card {
            border: 0;
            border-radius: 24px;
            background: var(--sicao-card);
            box-shadow: var(--sicao-shadow);
            overflow: hidden;
        }

        .login-card-body {
            padding: clamp(18px, 3vh, 28px) 26px clamp(16px, 2.5vh, 24px);
            position: relative;
        }

        .login-card-body::before,
        .login-card-body::after {
            content: '';
            position: absolute;
            top: 12px;
            width: 86px;
            height: 1px;
            background: #9b9b9b;
            opacity: .55;
        }

        .login-card-body::before {
            left: 26px;
        }

        .login-card-body::after {
            right: 26px;
        }

        .sicao-login-title {
            margin: 4px 0 clamp(16px, 2.3vh, 24px);
            padding: 0;
            color: var(--sicao-text);
            font-weight: 700;
            font-size: clamp(1.55rem, 2.4vw, 1.9rem);
            line-height: 1.15;
            text-align: center;
        }

        .sicao-login-subtitle {
            display: block;
            width: 80%;
            margin: 8px auto 0;
            color: #806f54;
            font-size: clamp(.84rem, 1.2vw, .98rem);
            font-weight: 400;
            line-height: 1.22;
        }

        .alert {
            border-radius: 8px;
            padding: 10px 12px;
            font-size: .92rem;
        }

        .main form {
            width: 100%;
        }

        .form-floating.input-group {
            height: 60px;
            margin-bottom: 14px !important;
        }

        .input-group-text {
            width: 46px;
            justify-content: center;
            border: 0;
            border-bottom: 1px solid #ced4da;
            border-radius: 0;
            background: #ffffff;
            color: #777;
            font-size: 1.05rem;
        }

        .form-floating>.form-control {
            height: 60px;
            min-height: 60px;
            border: 0;
            border-bottom: 1px solid #ced4da;
            border-radius: 0;
            background: var(--sicao-input);
            font-size: 1rem;
            padding-top: 1.45rem;
        }

        .form-floating>label {
            left: 46px;
            color: #8a8f99;
            font-size: .86rem;
            padding-top: .68rem;
        }

        .g-recaptcha {
            transform-origin: top center;
            margin-top: 2px;
            margin-bottom: 14px !important;
        }

        .btn-blue {
            background: var(--sicao-primary);
            border-color: var(--sicao-primary);
            color: #ffffff;
            border-radius: 5px;
            padding: 9px 16px;
            font-weight: 600;
            box-shadow: none;
        }

        .btn-blue:hover,
        .btn-blue:focus {
            background: #1f2439;
            border-color: #1f2439;
            color: #ffffff;
        }

        .separator {
            margin-top: clamp(12px, 2vh, 18px);
            padding-top: clamp(10px, 1.5vh, 14px);
            border-top: 1px solid #d4dae3;
        }

        .separator .separator {
            border-top: 0;
            margin-top: 6px;
            padding-top: 0;
        }

        .sicao-logo-login {
            width: min(210px, 58vw);
            max-height: clamp(145px, 23vh, 205px);
            object-fit: contain;
            display: block;
            margin: 0 auto;
        }

        .separator small {
            display: block;
            color: #49505c;
            font-size: .78rem;
            line-height: 1.25;
        }

        @media (max-height: 760px) {
            body.login-page {
                align-items: flex-start;
                padding-top: 10px;
                padding-bottom: 10px;
            }

            .login-card-body {
                padding: 15px 24px 14px;
            }

            .sicao-login-title {
                font-size: 1.45rem;
                margin-bottom: 12px;
            }

            .sicao-login-subtitle {
                margin-top: 5px;
                font-size: .82rem;
            }

            .form-floating.input-group,
            .form-floating>.form-control {
                height: 54px;
                min-height: 54px;
            }

            .sicao-logo-login {
                max-height: 150px;
                width: min(175px, 52vw);
            }

            .separator {
                margin-top: 10px;
                padding-top: 9px;
            }

            .btn-blue {
                padding: 8px 14px;
            }
        }

        @media (max-height: 640px) {
            .sicao-logo-login {
                max-height: 105px;
                width: min(145px, 46vw);
            }

            .g-recaptcha {
                transform: scale(.92);
                margin-bottom: 4px !important;
            }

            .login-box {
                width: min(405px, 100%);
            }
        }

        @media (max-width: 420px) {
            body.login-page {
                padding-left: 10px;
                padding-right: 10px;
            }

            .login-card-body {
                padding-left: 16px;
                padding-right: 16px;
            }

            .g-recaptcha {
                transform: scale(.88);
                margin-left: -8px;
                margin-right: -8px;
            }

            .btn-blue {
                width: 100%;
                margin: 4px 0;
            }
        }