body {
            min-height: 100vh;
            min-height: 100dvh;
            min-height: 100svh;
        }

        .main-content {
            position: relative;
            min-height: 100vh;
            min-height: 100dvh;
            min-height: 100svh;
            background-color: white;
        }

        .admin {
            background-image: url("../img/backgrounds/admin-bg-light.png");
            background-repeat: no-repeat;
            background-position: center top;
            background-size: auto;
            min-height: 630px;
            background-color: #F4F5F7 !important;
        }

        .admin > * {
            position: relative;
            z-index: 1;
        }

        #hot-assinatura-container {
            padding: 24px 15px max(48px, calc(24px + env(safe-area-inset-bottom, 0px)));
            min-height: 100vh;
            min-height: 100dvh;
            min-height: 100svh;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            box-sizing: border-box;
        }

        @media (min-width: 992px) and (min-height: 900px) {
            #hot-assinatura-container:not(:has(.form-container.etapa-confirmacao-ativa)) {
                align-items: center;
            }
        }

        .hot-assinatura-input-group {
            position: relative;
        }

        .hot-assinatura-input-group .input-icon {
            position: absolute;
            left: 15px;
            top: 50%;
            transform: translateY(-50%);
            color: #6c757d;
            z-index: 10;
            font-size: 1rem;
            pointer-events: none;
            line-height: 1;
        }

        .hot-assinatura-input-group:focus-within .input-icon {
            color: #6c757d;
        }

        .hot-assinatura-input-group .hot-login-input,
        .hot-assinatura-input-group .form-control,
        .hot-assinatura-input-group .form-select {
            position: relative;
            z-index: 1;
            width: 100%;
            padding: 12px 12px 12px 40px;
            border: 2px solid #e9ecef;
            border-radius: 8px !important;
            font-size: 0.9rem;
            background: #f8f9fa;
            color: #333;
            font-weight: 500;
            min-height: 44px;
        }

        .hot-assinatura-input-com-prefixo-ddi {
            display: flex;
            align-items: stretch;
            width: 100%;
            min-height: 44px;
            border: 2px solid #e9ecef;
            border-radius: 8px;
            background: #f8f9fa;
            position: relative;
            z-index: 1;
        }

        .hot-assinatura-input-prefixo-ddi {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            padding-left: 40px;
            padding-right: 0.35rem;
            color: #6c757d;
            font-size: 0.9rem;
            font-weight: 500;
            pointer-events: none;
            user-select: none;
        }

        .hot-assinatura-input-group--com-prefixo-ddi .hot-assinatura-input-com-prefixo-ddi .form-control,
        .hot-assinatura-input-group--com-prefixo-ddi .hot-assinatura-input-com-prefixo-ddi .hot-login-input {
            flex: 1;
            width: auto;
            min-width: 0;
            min-height: 40px;
            padding: 12px 12px 12px 0;
            border: none !important;
            border-radius: 0 8px 8px 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        .hot-assinatura-input-group--com-prefixo-ddi:focus-within .hot-assinatura-input-com-prefixo-ddi {
            border-color: #F5140A;
            background: #fff;
            box-shadow: 0 0 0 0.2rem rgba(245, 20, 10, 0.15);
        }

        .hot-assinatura-input-group--com-prefixo-ddi .hot-assinatura-input-com-prefixo-ddi .form-control:focus,
        .hot-assinatura-input-group--com-prefixo-ddi .hot-assinatura-input-com-prefixo-ddi .hot-login-input:focus {
            border: none !important;
            box-shadow: none !important;
            outline: none;
        }

        .hot-assinatura-input-group .hot-login-input:focus,
        .hot-assinatura-input-group .form-control:focus,
        .hot-assinatura-input-group .form-select:focus {
            z-index: 1 !important;
            border-color: #F5140A;
            background: #fff;
            outline: none;
            box-shadow: 0 0 0 0.2rem rgba(245, 20, 10, 0.15);
        }

        /* Bootstrap .input-group eleva o campo no foco (z-index: 5) e cobre o ícone */
        .input-group.hot-assinatura-input-group > .form-control,
        .input-group.hot-assinatura-input-group > .form-select,
        .input-group.hot-assinatura-input-group > .form-control:focus,
        .input-group.hot-assinatura-input-group > .form-select:focus {
            z-index: 1 !important;
        }

        .form-group:focus-within .hot-login-label {
            color: #F5140A;
        }

        /* Label externo (hot-login-label); o x-form.field não deve repetir rótulo */
        .hot-assinatura-input-group .form-label {
            display: none !important;
        }
